Абстрактный класс в объектно-ориентированном программировании – это базовый класс, который не предполагает создания экземпляров.
Абстрактные классы реализуют на практике один из принципов ООП — полиморфизм.
Абстрактный класс может содержать абстрактные методы и свойства. Абстрактный метод не реализуется для класса, в котором описан, однако должен быть реализован для его неабстрактных потомков.
Абстрактные классы представляют собой наиболее общие абстракции, то есть имеющие наибольший объем и наименьшее содержание.