ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн

Глава 9. Наследование

Базовый и производный классы

Конструкторы производного класса

Базовые функции класса

Какой из методов использовать?

Наследование в классе Distance

Иерархия классов

Наследование и графика

Общее и частное наследование

Уровни наследования

Множественное наследование

Частное наследование в программе EMPMULT

Неопределенность при множественном наследовании

Включение: классы в классах

Роль наследования при разработке программ

Наиболее значимой после классов возможностью ООП является наследование. Это процесс создания новых классов, называемых наследниками или производ- ными классами, из уже существующих или базовых классов. Производный класс получает все возможности базового класса, но может также быть усовершенство- ван за счет добавления собственных. Базовый класс при этом остается неизмен- ным. Взаимосвязь классов при наследовании показана на рис. 9.1.

Возможно, что стрелка на рисунке показывает совершенно иное направле- ние, чем вы предполагали. Если она показывает вниз, то это называется насле- дованием. Однако обычно она указывает вверх, от произвольного класса к базо- вому, и называется производный от.

Наследование — важная часть ООП. Выигрыш от него состоит в том, что наследование позволяет использовать существующий код несколько раз. Имея написанный и отлаженный базовый класс, мы можем его больше не модифици- ровать, при этом механизм наследования позволит нам приспособить его для

работы в различных ситуациях. Используя уже написанный код, мы экономим время и деньги, а также увеличиваем надежность программы. Наследование мо- жет помочь и при начальной постановке задачи программирования, разработке общей структуры программы.

Базовый класс

Рис. 9.1. Наследование

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

Мы рассмотрим эти возможности наследования более детально после того, как познакомимся с некоторыми тонкостями, которые могут встретиться при работе с наследованием.

 

2