Sobes.tech
Назад к вопросам
Junior — Middle
86

Можно ли создать цепочку наследования между абстрактными классами?

Компании, где спрашивали
АО Тривио

Ответ от нейросети

sobes.tech AI

Да, в PHP можно создавать цепочку наследования между абстрактными классами. Абстрактный класс может наследовать другой абстрактный класс, при этом дочерний класс может реализовывать или переопределять абстрактные методы родителя.

Пример:

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

abstract class Mammal extends Animal {
    public function breathe() {
        echo "Дышу воздухом";
    }
}

class Dog extends Mammal {
    public function makeSound() {
        echo "Гав-гав";
    }
}

$dog = new Dog();
$dog->breathe(); // Выведет: Дышу воздухом
$dog->makeSound(); // Выведет: Гав-гав

Таким образом, цепочка наследования абстрактных классов позволяет строить иерархии с частичной реализацией и обязательными к реализации методами.