参考自己的不同方式?

时间:2010-09-08 17:26:00

标签: language-agnostic oop keyword self-reference

自己的句柄在OOP语言中被称为不同的东西。到目前为止我遇到的少数几个:

  • this(例如Java,C#)
  • Me(例如VB,vba)
  • self(例如Python)

任何人都知道其他人吗?

6 个答案:

答案 0 :(得分:3)

在Python中,第0个参数被称为self只是一种惯例。重要的是这个职位。任何事都可以,所以你可以使用i或其他任何东西:

class Foo:
  def bar ( i ):
    print i

答案 1 :(得分:1)

寻找自我......

大多数情况下,它根本没什么。例如,如果不存在本地x变量,通常“x”将引用this.x。

答案 2 :(得分:1)

在Perl中,对自身的引用从不隐含。

sub work {
    my($self) = @_;
    sleep();         # Don't do this
    $self->sleep();  # Correct usage
}

来源:“Writing serious Perl - The absolute minimum you need to know

答案 3 :(得分:1)

在Common-Lisp(CLOS),Dylan或Slate等多调度OO语言中,没有单一的接收者对象,因此没有self的概念。

答案 4 :(得分:0)

Smalltalk也使用self。

答案 5 :(得分:0)

F#类似于Python和Perl,因为你只提供自己的名字。这是@Pete Kirkham在F#中的Python示例:

type Foo =
  member i.bar = printfn "%O" i

像这样使用它:

let x = new Foo()
x.bar