看板 PHP 關於我們 聯絡資訊
※ 引述《foxzgerald (O⊥M)》之銘言: : 在 PHP5 中.. : =================================== : class A { : public function __construct() { : print "A created"; : } : public function display(){} : } : class B extends A { : public function __construct() { : print "B created"; : } : public function display() {} : } : $obj = new B(); : ==================================== : 上述的程式碼只會印出 B created. 換言之 : 雖然 B 繼承 A ,但是 B 被實體化時 A 卻沒有跟著被實體化。 : 整個過程只有 B 的建構子被呼叫 (行為似乎跟 c++ 不大一樣 ?!) : 假若上例中. 在實體化 B 之前, 需要先初始化 A 的部分內容. : 請問有什麼技巧嗎? 自問自答.. 剛剛跑去 php.net 翻 發現在 class B 的建構子中以 parent::__construct(); 呼叫父類別的建構子就可以了 ="= -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.192.195
ottokang:PHP 6預計會要求子類別強迫呼叫父類別的建構子 07/09 13:50
foxzgerald:希望 PHP OO 的特性能越來越完善~ 07/09 20:42