這里父類的析構函數為什么會被執行
class?Car?{ ????function?__construct()?{ ????????print?"父類構造函數被調用?\n"; ????} ????function?__destruct()?{ ????????print?"父類析構函數被調用?\n"; ????} } class?Truck?extends?Car?{ ????function?__construct()?{ ????????print?"子類構造函數被調用?\n"; ????????parent::__construct(); ????????//parent::__destruct(); ????} } $car?=?new?Truck();
父類定義了析構函數,子類只調用了父類的構造函數,但是執行的時候還是返回了父類析構函數執行的結果,為什么。
2019-03-15
代碼執行完之后,你創建的 $car 被銷毀,就會調用析構函數,你的子類沒有重寫析構函數,就調用的就是父類的析構函數