这在C++、PHP和其他语言中的使用

Usage of this in C++, PHP, other languages

本文关键字:语言 其他 C++ PHP 这在      更新时间:2023-10-16

为什么C++中的内部类变量可以使用this,但不必使用,而内部PHP类属性必须使用$this->

示例C++(可以使用this,但不必)

void setHealth(int h)
{
    health = h;
}

示例PHP(必须使用$this->

public function setHealth($h)
{
    $this->health = $h;
}

在PHP中要求$this->有什么优点/缺点吗?我可以看到,它毫无疑问地澄清了变量确实属于这个特定的类实例,而不是可能是一个局部范围的变量,但C++在没有这个要求的情况下管理得很好。

C++具有静态类型并需要声明。编译器可以很容易地弄清楚名称(health)指的是什么

在PHP中,OTOH、$health = $h;是不明确的。这是局部变量还是类成员变量?请记住,您可以动态地向对象添加属性,因此仅检查类声明的属性是不够的。