Junior
Ce este o extensie (extend) în contextul PHP?
sobes.tech AI
Răspuns de la AI
Extinderea, sau moștenirea, în PHP este un mecanism care permite unei clase (clasa copil sau subclasă) să preia proprietățile și metodele altei clase (clasa părinte sau de bază).
Cuvântul cheie extends este folosit pentru a indica clasa părinte.
Avantajele moștenirii:
- Reutilizarea codului: Nu este necesar să scrieți același cod de mai multe ori.
- Extensibilitate: Clasa copil poate adăuga noi proprietăți și metode sau poate suprascrie cele existente din clasa părinte.
- Polimorfism: Obiectele din clase diferite pot fi tratate ca obiecte ale unei clase părinte comune.
Exemplu:
<?php
class Animal {
public function eat() {
echo "Animalul mănâncă.";
}
}
class Dog extends Animal {
public function bark() {
echo "Câinele latră.";
}
}
$dog = new Dog();
$dog->eat(); // Apelarea metodei din clasa părinte
$dog->bark(); // Apelarea metodei din clasa copil
?>
Clasa copil nu moștenește:
- Proprietățile și metodele private (deși există în obiect, nu pot fi apelate direct din clasa copil).
- Constructorul clasei părinte nu este apelat automat la crearea unui obiect al clasei copil, cu excepția cazului în care este specificat explicit cu
parent::__construct().