覆蓋的方法我父類和子類,如下所示:訪問父屬性和PHP
abstract class ParentObj {
private $data;
public function __construct(){
$this->data = array(1,2,3);
var_dump($this->data);
$this->method();
}
public function method(){
echo "ParentObj::method()";
}
}
class ChildObj extends ParentObj {
public function __construct(){
parent::__construct();
var_dump($this->data);
}
public function method(){
echo "ChildObj::method()";
}
}
預期的輸出:
array(1,2,3)
ChildObj::method()
array(1,2,3)
實際輸出:
array(1,2,3)
ParentObj::method()
NULL
的問題是,子對象無法訪問數據屬性,而父對象拒絕調用chil中的重寫方法d。
我做錯了什麼,還是有人有什麼想法?
編輯:我要澄清,我實例化一個ChildObj爲$child = new ChildObj()
好的,將private改爲protected以修復屬性訪問權限。 – 2009-06-29 13:25:59