首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 建構子繼承機制詳解:三種情況與父類呼叫方式

     編輯:PHP 綜合知識

詳細說明 PHP 類別繼承時建構子的三種行為:子類未定義建構子自動繼承、子類定義建構子覆蓋父類、透過 parent::__construct() 顯式呼叫父類建構子。

情況一:子類未定義建構子,自動繼承父類

class A {
    public $name;
    function __construct() { echo $this->name = "小強"; }
}
class B extends A {}
$bb = new B(); // 輸出:小強

情況二:子類定義建構子,覆蓋父類

class B extends A {
    function __construct() { echo "BBBBBB子類"; }
}
$bb = new B(); // 輸出:BBBBBB子類

情況三:子類建構子中呼叫父類建構子

class B extends A {
    function __construct() {
        parent::__construct(); // 或 A::__construct();
        echo "子類追加邏輯";
    }
}
$bb = new B(); // 輸出:小強子類追加邏輯

關鍵點總結

  • PHP 不支援建構子多載,子類定義 __construct 即完全覆蓋
  • 需繼承父類初始化邏輯時,必須在子類建構子首行呼叫 parent::__construct()
  • PHP 5.3.3+ 同名方法不再視為建構子,僅 __construct 為標準建構子
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved