Таким образом, наследование нарушает инкапсуляцию.
Альтернатива наследованию – композиция. Она позволяет повторно использовать функционал объектно – ориентированных систем.
Композиция – принцип составления оболочки, она позволяет уменьшить количество классов.
Главное – поддержка объектами одного интерфейса.
Пример:
Полиморфизм: «один интерфейс – множество действий»
Виртуальная функция – это такая функция, которую можно переопределять в производных классах.
В С++ существуют абстрактные классы. Класс становится абстрактным при наличии чисто виртуальной функции (virtual void d() = 0).