**abstract** используется для создания абстрактных классов и методов.
Если **abstract** использовать в классе, то непосредственно из такого класса нельзя инициализировать экземпляр.
Абстрактные классы могут содержать реализацию методов, которая будет автоматически доступна для всех производных классов.
Ключевое слово **abstract** используется для определения абстрактных методов в абстрактном классе. Абстрактные методы не имеют реализации в абстрактном классе и должны быть реализованы в производных классах. Ключевое слово **abstract** гарантирует, что производные классы предоставляют реализацию всех абстрактных методов.