Z góry przepraszam za poziom. Wymiękłam na samym początku. Próbuję przestawić myślenie na obiekty. No i wymiękłam. Nie potrafię nijak ... ani doczytać, ani wymyśleć jak do właściwości klasy nadrzędnej (dom), nadawanej w treści skryptu ($moj_dom->szerokosc_okien=2;) dobrać się z klasy pokoj. Jeżeli tej właściwości nadam wartość podczas definiowania klasy (linia 2: public $szerokosc_okien=2;), tak jak w większości podręczników w pierwszych rozdziałach widziałam) - to jak najbardziej w klasie "pokoj" jest ona widoczna, ale jak próbuję tak jak wyżej napisałam - w skrypcie to ustawić - to ni czorta jej nie widać.
Powiedzcie proszę chociaż gdzie błąd myślenia, albo rzućcie hasłem według którego mam googlać.
Poniżej kod. Zakomentowana linia trzecie służyła mi do testów - komentowałam sobie to 2-gą, to 3-cią oglądając efekt.
Kod
class dom {
public $szerokosc_okien=2;
// public $szerokosc_okien;
}
class pokoj extends dom {
public $szerokosc_sciany;
public function __construct ($nazwa) {
$this->nazwa=$nazwa;
}
public function pokaz_pokoj() {
if ($this->szerokosc_okien>0) $liczba_okien=$this->szerokosc_sciany / $this->szerokosc_okien;
print "Na ścianie w pokoju ".$this->nazwa." można zrobić ".$liczba_okien." okna ";
}
}
$moj_dom=new dom;
$moj_dom->szerokosc_okien=2;
$moj_pokoj=new pokoj('Żabka');
$moj_pokoj->szerokosc_sciany=6;
$moj_pokoj->pokaz_pokoj();