为什么C++中的内部类变量可以使用this,但不必使用,而内部的PHP属性必须使用$this->
示例C++ (可以使用this,但不必使用)
void setHealth(int h)
{
health = h;
}示例PHP (必须使用$this->)
public function setHealth($h)
{
$this->health = $h;
}在PHP中要求$this->有什么利弊吗?我可以看到,它毫无疑问地澄清了变量确实属于这个特定的类实例,而不是可能是一个本地作用域变量,但是C++在没有这个要求的情况下管理得很好。。。
发布于 2015-11-11 21:36:52
C++具有静态类型,需要声明。编译器可以很容易地找出名称(health)所指的内容。
在PHP中,$health = $h;是模棱两可的。是局部变量还是类成员变量?记住,您可以动态地向对象添加属性,因此检查类声明哪些属性是不够的。
https://stackoverflow.com/questions/33660214
复制相似问题