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