Sobes.tech
Junior — Middle

Je možné vytvoriť reťazec dedičstva medzi abstraktnými triedami?

sobes.tech AI

Odpoveď od AI

Áno, v PHP je možné vytvoriť reťazec dedičnosti medzi abstraktnými triedami. Abstraktná trieda môže dediť od inej abstraktnej triedy a podtrieda môže implementovať alebo prepísať abstraktné metódy rodiča.

Príklad:

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

abstract class Mammal extends Animal {
    public function breathe() {
        echo "Dýcham vzduch";
    }
}

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

$dog = new Dog();
$dog->breathe(); // Vypíše: Dýcham vzduch
$dog->makeSound(); // Vypíše: Haf-Haf

Týmto spôsobom umožňuje reťazec dedičnosti medzi abstraktnými triedami budovať hierarchie s čiastočnou implementáciou a povinnými metódami na implementáciu.