Объектно-ориентированное программирование: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 416:
== Абстрактные методы и классы ==
 
Свойство: При построении сложной иерархии, для обеспечения полиморфизма программисты часто вынуждены вводить методы в классы верхнего уровня, даже если эти методы ещё не определены для этой специфической абстракции. Здесь можно было бы оставить пустые методы, но многие ОО языки предлагают такой специфический механизм, как определение абстрактных методов, то есть методов без реализации. КлассаКлассы, имеющие хотя бы один абстрактный метод, часто называются абстрактными классами.
 
'''C++''': В C++ абстрактные методы или чисто виртуальные функции получаются добавлением так называемого чистого описателя (=0) в определение метода. Абстрактные классы являются просто классами с одним или более абстрактным методом (или наследующие их). Вы не можете создать объект абстрактного класса.