Junior — Middle
Czy można utworzyć łańcuch dziedziczenia między klasami abstrakcyjnymi?
sobes.tech AI
Odpowiedź od AI
Tak, w PHP można tworzyć łańcuch dziedziczenia między klasami abstrakcyjnymi. Klasa abstrakcyjna może dziedziczyć po innej klasie abstrakcyjnej, a klasa potomna może implementować lub nadpisywać metody abstrakcyjne klasy rodzica.
Przykład:
abstract class Animal {
abstract public function makeSound();
}
abstract class Mammal extends Animal {
public function breathe() {
echo "Oddycham powietrzem";
}
}
class Dog extends Mammal {
public function makeSound() {
echo "Hau-Hau";
}
}
$dog = new Dog();
$dog->breathe(); // Wyświetli: Oddycham powietrzem
$dog->makeSound(); // Wyświetli: Hau-Hau
W ten sposób, łańcuch dziedziczenia klas abstrakcyjnych pozwala na budowanie hierarchii z częściową implementacją i obowiązkowymi do implementacji metodami.