Tworzę klasę dyrektor w niej konstuktor i metodę wyświetlająca dane- ok.
Tworzę klasę pochodną i tu mam problem z zrozumieniem konstuktora. Dlaczego muszę podać mu wszystkie dane takie jak imie, nazwisko itd? zamiast tylko wymaganej zmiennej np $ocena ?
Czy ma to związek z tym, że najpierw bazowy konstruktor ustawia te dane?
Kolejno wywoływany jest konturktor klasy bazowej
.
parent::__construct($imie, $nazwisko,$stanowisko, $zarobki);
I teraz tworzę sobie np instancję klasy... rozumiem, że parametry aktualne trafiają do konstukra klasy Nauczyciel, a co z bazowym konturktorem?
$nauczyciel=new nauczyciel('Agata', 'Mlynarska', 'Nauczyciel', 2500, 'historia ');
class Dyrektor { private $imie, $nazwisko, $stanowisko,$zarobki; public function __construct($imie, $nazwisko,$stanowisko, $zarobki) { $this->imie=$imie; $this->nazwisko=$nazwisko; $this->stanowisko=$stanowisko; $this->zarobki=$zarobki; } public function Show() { echo 'Imie:'. $this->imie. "<br>". $this->nazwisko. "<br>". $this->stanowisko. "<br>". $this->zarobki."<br>"; } }
Dziedziczona klasa
class nauczyciel extends Dyrektor { private $przedmiot; public function __construct($imie, $nazwisko,$stanowisko, $zarobki,$przedmiot) { parent::__construct($imie, $nazwisko,$stanowisko, $zarobki); $this->przedmiot=$przedmiot; } public function Show() { parent::Show(); } }