Ben aşağıdaki gibi ebeveyn ve çocuk sınıfları var:
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()";
}
}
Beklenen çıkışı:
array(1,2,3)
ChildObj::method()
array(1,2,3)
Gerçek çıktı:
array(1,2,3)
ParentObj::method()
NULL
Sorun alt nesne veri özelliğine erişemez ve ebeveyn çocuğun geçersiz kılınmış bir yöntemi çağırmak için reddediyor, olduğunu.
Ben yanlış bir şey yapıyorum, ya da herkes herhangi bir fikir var mı?
EDIT: I $child = new ChildObj()
gibi bir ChildObj başlatmasını olduğumu açıklamak gerekir