我有以下父母和子课程:
@H_502_18@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,3) ChildObj::method() array(1,3)
实际输出:
array(1,3) ParentObj::method() NULL
问题是,子对象无法访问数据属性,父对象拒绝调用子进程中的重写方法.
我做错了什么,或者有没有任何想法?
编辑:我应该澄清我将ChildObj实例化为$child = new ChildObj()