PHP中調用父類構造的方法
PHP 不會在子類的構造方法中自動的調用父類的構造方法。
要執行父類的構造方法,需要在子類的構造方法中調用?parent::__construct()?。
<?php
class BaseClass {
function __construct() {
print "BaseClass 類中構造方法" . PHP_EOL;
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct(); // 子類構造方法不能自動調用父類的構造方法
print "SubClass 類中構造方法" . PHP_EOL;
}
}
class OtherSubClass extends BaseClass {
// 繼承 BaseClass 的構造方法
}
// 調用 BaseClass 構造方法
$obj = new BaseClass();
// 調用 BaseClass、SubClass 構造方法
$obj = new SubClass();
// 調用 BaseClass 構造方法
$obj = new OtherSubClass();
?>
執行以上程序,輸出結果為:
BaseClass 類中構造方法
BaseClass 類中構造方法
SubClass 類中構造方法
BaseClass 類中構造方法