引用自己的不同方式?

发布于 2024-09-18 02:28:01 字数 193 浏览 11 评论 0原文

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

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

有人认识其他人吗?

The handle to yourself is called different things in OOP languages. The few I've come across so far:

  • this (e.g. Java, C#)
  • Me (e.g. VB, vba)
  • self (e.g. Python)

Anyone know any others?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

甜是你 2024-09-25 02:30:40

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

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

像这样使用它:

let x = new Foo()
x.bar

F# is similar to Python and Perl, in that you just supply your own name. Here's @Pete Kirkham's Python example in F#:

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

Use it like so:

let x = new Foo()
x.bar
走走停停 2024-09-25 02:30:19

Smalltalk 也使用 self。

Smalltalk also uses self.

音栖息无 2024-09-25 02:30:04

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

In multiple-dispatch OO languages like Common Lisp (CLOS), Dylan or Slate, there is no single receiver object, and therefore no notion of self.

数理化全能战士 2024-09-25 02:29:45

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

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

来源:“编写严肃的 Perl - 您需要了解的绝对最低限度

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"

岁月无声 2024-09-25 02:29:25

寻找自我……

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

The search for self...

Most often it's nothing at all. For instance, usually "x" will refer to this.x if no local x variable exists.

偏爱自由 2024-09-25 02:29:10

在Python中,第0个参数称为self只是一种约定。重要的是立场。任何东西都可以,所以你可以使用 i 或其他任何东西:

class Foo:
  def bar ( i ):
    print i

In Python, it is just a convention that the zeroth argument is called self. What matters is the position. Anything will do, so you could use i or anything else:

class Foo:
  def bar ( i ):
    print i
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文