Множественного наследования в PHP нет (ну в классическом понимании), множественное это когда унаследуются от несколькоих классов сразу. Сегодня встретил конструкцию типа:
$this->parent->parent->nameMethod()
Очевидно класс в котром я нахожусь чей-то наследник, а тот ещё чек-то наследник в свою очередь.
1) Ограничен ли уровень такого наследования в глубину?
2) Хороший ли это тон, правильная архитектура проекта допускает такое, или лучше ограничиться всегда одним уровнем?
1) В данном случае идет обращение к переменной экземпляра по имени $parent
, а не к родительскому объекту.
Как правильно заметили, для обращение к методу родителя используется конструкция parent::nameMethod()
2) Это совершенно нормальная практика, которая используется повсеместно. Конкретно про PHP на вскидку хороший пример в голову не приходит, поскольку ООП там не является определяющей язык парадигмой, а вот в той же Java развесистые кусты наследования сплошь и рядом.
Более того, многие считают практику строительства большого дерева наследования единственно верной в разрезе SOLID.
Например:
abstract class Animal{
function die(){
die();
}
abstract function move();
abstract function say();
}
abstract class Bird extends Animal{
abstract function say();
function move(){
fly();
}
}
class Raven extends Bird{
function say(){
echo "КАР!!";
}
}
Теперь у объекты класса Raven будут уметь летать через метод родителя move()
, умирать через метод деда die()
и каркать собственной реализацией метода say()
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Может кто-нибудь объяснить, как работает этот классХочу научиться использовать mvc, нашел такой класс для работы с бд, но разобраться до конца...
Добрый деньНачал переносить свое веб приложение на хостинг
Как подключить в php api yandex музыки ? Поделитесь готовыми примерами использования music yandex api в php