Разработка сайтов на PHP

ООП: продолжение

Наследование
extends. parent. final.
Множественного нет, но есть трейты.

Трейты - механизм обеспечения повторного использования кода в языках, где нет множественного наследования.
trait. use.
Трейт может использовать трейты.
Пример использования

Абстрактный - класс с одним или несколькими абстрактными методами (методами без реализации).
abstract.
Некая заготовка для классов-потомков. На основе них не могут быть созданы объекты.
Например, Транспортное средство - абстрактный, а Автомобиль, Самолет - реальные классы.

Интерфейс - описание вообще без реализации. Нужен для взаимодействия.
interface. implements.
В интерфейсе описали, в классе реализовали.
Наследующий класс должен реализовать все методы интерфейса.

Отличия абстрактных от интерфейсов:
- абстрактные могут содержать свойства и обычные методы;
- наследование только от одного абстрактного (т.к. класс), а интерфейсов может использоваться несколько.

Магические методы
Функции, срабатывающие при некоторых событиях, происходящих с объектами.
https://www.php.net/manual/ru/language.oop5.magic.php