Главная->Інформатика та програмування->Содержание->Роль наследования при разработке программ

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

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

Процесс разработки программ был основательно изменен с появлением ООП. Это связано не только с использованием классов, но и с использованием насле- дования. Рассмотрим его этапы.

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

Программисту Б нравится этот класс, но он считает, что класс может быть улучшен путем введения знака интервала. Решением будет создание нового класса, похожего на класс DistSign программы ENGLEN, который является произ- водным класса Distance, но включает в себя расширения, необходимые для реа- лизации знака интервала.

Программисты В и Г затем пишут приложения, использующие класс DistSign.

Программист Б может не иметь доступа к исходному коду, реализующему класс Distance, а программисты В и Г могут не иметь исходного кода класса DistSign. Но в C++ существует возможность повторного использования кода, по- этому программист Б может использовать и дополнять работу программиста А, а В и Г могут использовать работы Б (и А).

Заметим, что различия между разработчиками инструментов программного обеспечения и программистами, пишущими приложения, становятся расплыв- чатыми. Программист А создает общецелевой программный инструмент, класс Distance. Программист Б, в свою очередь, создает более специализированный класс DistSign. Программисты В и Г пишут приложения. А — разработчик инст- румента, а В и Г — разработчики приложений. Б находится где-то посередине. В любом случае ООП делает программирование более гибким, но в то же время и более сложным.

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

 

39