在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方法,以保留父類方法的功能并添加新的功能。