Абстрактные методы C++ (или чистые виртуальные методы) -- что это такое
Primary tabs
Абстрактный метод (или чистый виртуальный метод (pure virtual method - часто неверно переводится как чисто виртуальный метод)) — в объектно-ориентированном программировании, метод класса, реализация для которого отсутствует.
Класс, содержащий абстрактные методы, также принято называть абстрактным (там же и пример).
Абстрактные методы зачастую путают с виртуальными. Абстрактный метод подлежит определению в классах-наследниках, поэтому его можно отнести к виртуальным, но не каждый виртуальный метод является абстрактным.
Абстрактный метод ничего не делает, но определяет параметры и возвращаемое значение.
Назначение абстрактных методов:
- описание абстракции, которая не в более конкретизированном виде не может быть реализована;
- формальное (без реализации — есть или нет) удовлетворение требований о наличии статических методов при обращении к ним для прохождения проверки компилятора статической типизации, когда реализация их будет определена динамически (в процессе работы программы).
class CA { // Абстрактный класс public: CA ( void ) { std::cout << "This object of the class "; } virtual void Abstr ( void ) = 0; // Чистая (пустая) виртуальная функция. void fun ( void ) { std::cout << "Реализация не будет наследоваться!"; } ~CA () { std::cout << "." << std::endl; } //Вызывается в обр. порядке конструкторов };
про абстрактный класс написано здесь
- Log in to post comments
- 20712 reads