Абстрактный класс — это класс, который не может быть инстанцирован напрямую, то есть нельзя создать его объект с помощью new. Он предназначен для использования в качестве базового класса для других классов (потомков).
Основные характеристики абстрактного класса:
abstract.abstract и не имеют тела (реализации). Они должны быть реализованы в неабстрактных классах-потомках.php
Абстрактные классы используются для определения общего интерфейса и функциональности для группы связанных классов, оставляя детали реализации специфическим классам-потомкам. Со стороны потребителя кода, можно работать с объектами классов-потомков, используя тип базового абстрактного класса, что обеспечивает полиморфизм.