1

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

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

有人认识其他人吗?

4

6 回答 6

3

在 Python 中,调用第零个参数只是一个约定self。重要的是立场。任何事情都会做,所以你可以使用i或其他任何东西:

class Foo:
  def bar ( i ):
    print i
于 2010-09-08T17:29:49.320 回答
1

寻找自我...

大多数情况下,它什么都不是。例如,如果不存在局部 x 变量,通常“x”将引用 this.x。

于 2010-09-08T17:30:38.867 回答
1

In Perl, a reference to itself is never implicit.

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

source: "Writing serious Perl - The absolute minimum you need to know"

于 2010-09-08T17:36:58.557 回答
1

在像 Common Lisp (CLOS)、Dylan 或 Slate 这样的多调度 OO 语言中,没有单一的接收者对象,因此没有self.

于 2010-09-09T01:13:13.917 回答
0

Smalltalk 也使用 self.

于 2010-09-08T18:07:07.767 回答
0

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

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

像这样使用它:

let x = new Foo()
x.bar
于 2010-09-09T01:11:46.307 回答