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

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

Из Abstract Type в Википедии:

Абстрактные классы можно создавать, обозначать или моделировать несколькими способами:

  • С помощью явное ключевое слово abstract в определении класса, как в Java, D или C #.
  • Включая в определение класса один или несколько методов (называемых в C ++ чисто виртуальными функциями), которые класс объявлен принимать как часть своего протокола, но для которых не предусмотрена реализация.
  • Унаследовав от абстрактного типа, и не переопределяя все отсутствующие функции, необходимые для завершения определения класса.
  • Во многих динамически типизированных языках, таких как Smalltalk, любой класс, который отправляет конкретный метод этому, но не реализует этот метод, может считаться абстрактным. (Однако во многих таких языках ошибка не обнаруживается до тех пор, пока класс не используется, и возвращаемое сообщение приводит к сообщению об ошибке исключения, например «не понимает»).