阅读量:0
在PHP中,parent关键字通常用于调用父类中的方法或属性。但是,还有一些高级用法可以使用parent关键字。
- 访问父类的静态属性或方法:
class ParentClass { public static $staticProperty = 'I am a static property in parent class'; public static function staticMethod() { return 'I am a static method in parent class'; } } class ChildClass extends ParentClass { public static function childMethod() { // 访问父类的静态属性 echo parent::$staticProperty; // 调用父类的静态方法 echo parent::staticMethod(); } } ChildClass::childMethod();
- 调用构造函数:
class ParentClass { public function __construct() { echo 'Parent constructor called'; } } class ChildClass extends ParentClass { public function __construct() { parent::__construct(); echo 'Child constructor called'; } } new ChildClass();
在以上示例中,当创建ChildClass对象时,首先会调用ParentClass的构造函数,然后才会调用ChildClass的构造函数。
- 重写父类方法时调用父类方法:
class ParentClass { public function method() { echo 'Parent method called'; } } class ChildClass extends ParentClass { public function method() { parent::method(); echo 'Child method called'; } } $child = new ChildClass(); $child->method();
在以上示例中,ChildClass重写了ParentClass的method方法,并在重写的方法内部调用了父类的method方法,以保留父类方法的功能并添加新的功能。