Bu miras yoluyla yeniden ilan veya geçersiz bir örnek değişkeni için geçerli mi?

2 Cevap

Ben bir protected $instanceVariable ile soyut bir EbeveynSınıf var. Şimdi de bir private $instanceVariable bir ChildClass, hangi vardır orada. Sanki, bir başlangıç ​​değeri için bu ayarlar:

private $instanceVariable = 5;

Yani çocuğun sınıf geçersiz kılar ve özel görünürlüğünü değiştirir. Üst sınıf bu örnek değişkene bir değer atamaz. Erişmek yöntemler vardır çünkü aynı zamanda üst sınıf ilan etti.

Bu PHP ile sadece iyi mi?

2 Cevap

Ben EbeveynSınıf sanki benim torun sınıf çocuğu olarak davranabilirsiniz bilgi sabitlemek çocuğu olarak devralan mümkün olmalı - Liskov Substitution Principle kırıyorsun. Yani torun korumalı $ instanceVariable erişmek mümkün olmasıdır.

php böyle bir üyesini bildirmek izin vermez, sizin gibi bir hata alırsınız:

Access level to d::$x must be protected (as in class c) or weaker