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