ООП: продолжение
Наследованиеextends. parent. final.
Множественного нет, но есть трейты.
Трейты - механизм обеспечения повторного использования кода в языках, где нет
множественного наследования.
trait. use.
Трейт может использовать трейты.
Пример использования
Абстрактный - класс с одним или несколькими абстрактными методами (методами без реализации).
abstract.
Некая заготовка для классов-потомков.
На основе них не могут быть созданы объекты.
Например, Транспортное средство - абстрактный, а Автомобиль, Самолет - реальные классы.
Интерфейс - описание вообще без реализации. Нужен для взаимодействия.
interface. implements.
В интерфейсе описали, в классе реализовали.
Наследующий класс должен реализовать все методы интерфейса.
Отличия абстрактных от интерфейсов:
- абстрактные могут содержать свойства и обычные методы;
- наследование только от одного абстрактного (т.к. класс), а интерфейсов может использоваться несколько.
Магические методы
Функции, срабатывающие при некоторых событиях, происходящих с объектами.
https://www.php.net/manual/ru/language.oop5.magic.php