溫馨提示×

PHP中parent關(guān)鍵字的高級用法

PHP
小樊
84
2024-07-31 15:16:11
欄目: 編程語言

在PHP中,parent關(guān)鍵字通常用于調(diào)用父類中的方法或?qū)傩浴5?,還有一些高級用法可以使用parent關(guān)鍵字。

  1. 訪問父類的靜態(tài)屬性或方法:
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() {
        // 訪問父類的靜態(tài)屬性
        echo parent::$staticProperty;
        
        // 調(diào)用父類的靜態(tài)方法
        echo parent::staticMethod();
    }
}

ChildClass::childMethod();
  1. 調(diào)用構(gòu)造函數(shù):
class ParentClass {
    public function __construct() {
        echo 'Parent constructor called';
    }
}

class ChildClass extends ParentClass {
    public function __construct() {
        parent::__construct();
        echo 'Child constructor called';
    }
}

new ChildClass();

在以上示例中,當(dāng)創(chuàng)建ChildClass對象時,首先會調(diào)用ParentClass的構(gòu)造函數(shù),然后才會調(diào)用ChildClass的構(gòu)造函數(shù)。

  1. 重寫父類方法時調(diào)用父類方法:
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方法,并在重寫的方法內(nèi)部調(diào)用了父類的method方法,以保留父類方法的功能并添加新的功能。

0