PHP $this和self、parent这三个关键词分别代表什么
PHP $this和self、parent这三个关键词分别代表什么
在PHP中,$this、self 和 parent 是三个用于面向对象编程(OOP)的关键字,它们各自有特定的用途和含义:
$this:
-
$this是一个指向当前对象实例的指针。 -
它用于访问当前对象的属性和方法。
-
在类的实例方法中,$this 总是指向调用该方法的对象实例。
class MyClass {
public $property = 'value';
public function showProperty() {
echo $this->property; // 访问当前对象的属性
}
}
$obj = new MyClass();
$obj->showProperty(); // 输出: value
self:
-
self 是一个对类本身的引用,用于访问类的静态属性和静态方法,以及在类定义内部引用类名。
-
它不依赖于类的实例,因此可以在没有创建对象的情况下使用。
-
self 通常用于定义静态方法或属性,或者在类的静态上下文中调用其他静态方法或属性。
class MyClass {
public static $staticProperty = 'static value';
public static function showStaticProperty() {
echo self::$staticProperty; // 访问类的静态属性
}
}
MyClass::showStaticProperty(); // 输出: static value
parent:
-
parent 用于在子类中引用父类的属性和方法。
-
它通常用于覆盖(重写)父类方法时,调用父类的原始方法。
-
parent 还可以用于访问父类的构造函数。
class ParentClass {
public function showMessage() {
echo "Parent class message";
}
}
class ChildClass extends ParentClass {
public function showMessage() {
parent::showMessage(); // 调用父类的方法
echo " - Child class message";
}
}
$child = new ChildClass();
$child->showMessage(); // 输出: Parent class message - Child class message
总结:
-
$this 用于访问当前对象的属性和方法。
-
self 用于访问类的静态属性和静态方法,以及在类定义内部引用类名。
-
parent 用于在子类中引用父类的属性和方法。
9383

被折叠的 条评论
为什么被折叠?



