Sobes.tech
Junior — Middle

Vai ir iespējams izveidot mantošanas ķēdi starp abstraktām klasēm?

sobes.tech AI

Atbilde no AI

Jā, PHP ir iespējams izveidot manto ķēdi starp abstraktām klasēm. Abstrakta klase var manto no citas abstraktās klases, un bērna klase var īstenot vai pārrakstīt vecāka abstraktās metodes.

Piemērs:

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

abstract class Mammal extends Animal {
    public function breathe() {
        echo "Elpoju gaisu";
    }
}

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

$dog = new Dog();
$dog->breathe(); // Izvadīs: Elpoju gaisu
$dog->makeSound(); // Izvadīs: Vau-Vau

Šādi abstraktu klasu mantošanas ķēde ļauj būvēt hierarhijas ar daļēju realizāciju un obligātiem metodēm, kas jāīsteno.