自己的句柄在 OOP 语言中被称为不同的东西。到目前为止我遇到的几个:
this
(例如 Java、C#)Me
(例如 VB、vba)self
(例如 Python)
有人认识其他人吗?
自己的句柄在 OOP 语言中被称为不同的东西。到目前为止我遇到的几个:
this
(例如 Java、C#)Me
(例如 VB、vba)self
(例如 Python)有人认识其他人吗?
在 Python 中,调用第零个参数只是一个约定self
。重要的是立场。任何事情都会做,所以你可以使用i
或其他任何东西:
class Foo:
def bar ( i ):
print i
寻找自我...
大多数情况下,它什么都不是。例如,如果不存在局部 x 变量,通常“x”将引用 this.x。
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"
在像 Common Lisp (CLOS)、Dylan 或 Slate 这样的多调度 OO 语言中,没有单一的接收者对象,因此没有self
.
Smalltalk 也使用 self.
F# 类似于 Python 和 Perl,因为您只需提供自己的名称。这是@Pete Kirkham 在 F# 中的 Python 示例:
type Foo =
member i.bar = printfn "%O" i
像这样使用它:
let x = new Foo()
x.bar