yılında geçersiz kılınan yöntemler Ben şöyle Üst ve alt sınıfları:Erişme ebeveyn özellikleri ve 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()";
}
}
beklenen çıkışı:
array(1,2,3)
ChildObj::method()
array(1,2,3)
gerçek çıktı:
array(1,2,3)
ParentObj::method()
NULL
Sorun, alt nesnenin veri özelliğine erişememesi ve üst öğenin chil'deki geçersiz kılmayı çağırmayı reddetmesidir. d.
Yanlış bir şey yapıyorum mu, yoksa herhangi bir fikri olan var mı?
DÜZENLEME: ChildObj erişmek için mümkün olmayacaktır yüzden, ben sen özel olarak data
ilan ettik $child = new ChildObj()
Tamam, özel korunan düzeltmeleri, özellik erişimi değiştirir. –