Sobes.tech
Junior — Middle

Може ли да се креира ланац наслеђивања између апстрактних класа?

sobes.tech АИ

Одговор од АИ

Da, u PHP-u je moguće kreirati lanac nasleđivanja između apstraktnih klasa. Apstraktna klasa može naslediti drugu apstraktnu klasu, a podklasa može implementirati ili redefinisati apstraktne metode roditelja.

Primer:

abstract class Animal {
    abstract public function makeSound();
}

abstract class Mammal extends Animal {
    public function breathe() {
        echo "Dišem vazduh";
    }
}

class Dog extends Mammal {
    public function makeSound() {
        echo "Hav-Hav";
    }
}

$dog = new Dog();
$dog->breathe(); // Ispisaće: Dišem vazduh
$dog->makeSound(); // Ispisaće: Hav-Hav

Na ovaj način, lanac nasleđivanja apstraktnih klasa omogućava građenje hijerarhija sa delimičnom implementacijom i obaveznim metodama za implementaciju.