Junior
Čo je rozšírenie (extend) v kontexte PHP?
sobes.tech AI
Odpoveď od AI
Rozšírenie, alebo dedičstvo, v PHP je mechanizmus, ktorý umožňuje jednej triede (potomkovi alebo odvodenému triede) dediť vlastnosti a metódy inej triedy (rodičovskej alebo základnej triedy).
Kľúčové slovo extends sa používa na označenie rodičovskej triedy.
Výhody dedičstva:
- Opakované použitie kódu: Nie je potrebné písať ten istý kód viackrát.
- Rozšíriteľnosť: Potomková trieda môže pridávať nové vlastnosti a metódy alebo prepísať existujúce z rodičovskej triedy.
- Polymorfizmus: Objektov rôznych tried možno spracovávať ako objekty spoločnej rodičovskej triedy.
Príklad:
<?php
class Animal {
public function eat() {
echo "Zvieratko jeje.";
}
}
class Dog extends Animal {
public function bark() {
echo "Pes šteka.";
}
}
$dog = new Dog();
$dog->eat(); // Volanie metódy z rodičovskej triedy
$dog->bark(); // Volanie metódy z potomkovej triedy
?>
Potomková trieda ne dedí:
- Privátne vlastnosti a metódy (hoci existujú v objekte, nemôžu byť priamo volané z potomkovej triedy).
- Konštruktor rodičovskej triedy sa nevolá automaticky pri vytváraní objektu potomkovej triedy, ak nie je výslovne uvedené pomocou
parent::__construct().