Sobes.tech
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.