PHP中this、self和parent的区别
答案
this
是指向对象实例的一个指针,在实例化的时候来确定指向;self
是对类本身的一个引用,一般用来指向类中的静态变量;parent
是对父类的引用,一般使用parent
来调用父类的构造函数。
答案解析
1.this
this
是在实例化的时候来确定指向谁。所以说,this
就是指向当前对象实例的指针,不指向任何其他对象或类。
$this->name = $name;
print($this->name)
$obj1 = new Test("Home");
2.self
self
是指向类本身,也就是self
是不指向任何已经实例化的对象,一般self
使用来指向类中的静态变量。假如我们使用类里面的静态(用static
定义)成员或常量(用const定义
),我们也必须使用self
来调用。还要注意使用self
来调用静态变量必须使用::
(域运算符号),见实例。
$this->lastCount = ++self::$firstCount;
3.parent
parent
是指向父类的指针,一般我们使用parent
来调用父类的构造函数。
parent::__construct("Home");