Это госы! Wiki
Это госы! Wiki
Advertisement


Абстрактным называется класс, не предназначенный для инстанцирования.

В программе такой класс нельзя использовать для создания экземпляров, можно только для создания новых классов.

Класс становится абстрактным, если включает в себя хотя бы одну чисто виртуальную функцию (виртуальная функция с нулевой реализацией).

Пример: Базовый класс фигура в шахматах должен быть абстрактным.

class Figure  
{
            …
            virtual int stop(…) = 0 ;
            …
}

Все конкретные производные классы обязаны перекрыть чисто виртуальную функцию, т.е. с точки зрения логики они должны реализовать объявленное в базовом классе поведение.

Если в производном классе наследуемая виртуальная функция не будет перекрыта, то производный класс также будет абстрактным.

Класс называют Абстрактным, если у него частично или полностью отсутствует реализация. Например, в C++ чисто виртуальные функции декларируют сигнатуру без реализации.

Для абстрактных классов запрещено создание объектов.

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

Advertisement