覆盖的方法我父类和子类,如下所示:访问父属性和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