Junior
Co je rozšíření (extend) v kontextu PHP?
sobes.tech AI
Odpověď od AI
Rozšíření, nebo dědičnost, v PHP je mechanismus, který umožňuje jedné třídě (potomková nebo odvozená třída) dědit vlastnosti a metody jiné třídy (rodičovské nebo základní třídy).
Klíčové slovo extends se používá k označení rodičovské třídy.
Výhody dědičnosti:
- Opakované použití kódu: Není nutné psát stejný kód několikrát.
- Rozšiřitelnost: Potomková třída může přidávat nové vlastnosti a metody nebo přepisovat stávající z rodičovské třídy.
- Polymorfismus: Objekty různých tříd mohou být zpracovávány jako objekty společné rodičovské třídy.
Příklad:
<?php
class Animal {
public function eat() {
echo "Zvíře jí.";
}
}
class Dog extends Animal {
public function bark() {
echo "Pes štěká.";
}
}
$dog = new Dog();
$dog->eat(); // Volání metody z rodičovské třídy
$dog->bark(); // Volání metody z potomkovské třídy
?>
Potomkovská třída dědí:
- Privátní vlastnosti a metody (ačkoli existují v objektu, nelze je přímo volat z potomkovské třídy).
- Konstruktor rodičovské třídy není automaticky volán při vytváření objektu potomkovské třídy, pokud není výslovně uveden pomocí
parent::__construct().