Глава 20
Наследование и полиморфизм
* В главе 3 "О&ьектно-ориентированные анализ и проектирование", мы обсудили несколько базовых вопросов проектирования, лежащих в фундаменте объектно-ориентированного программирования на C++ и других языках. Одной из самых важных среди рассмотренных нами тем была концепция иерархии, проще говоря, способа упорядочивания абстрактных классов таким образом, чтобы сделать взаимосвязи между ними более явными, облегчая тем самым осмысление и осуществление решений стоящих перед нами проблем.
Если вы пропустили главу 3, то последнее предложение могло ничего вам не сказать. Не волнуйтесь — в этой главе мы повторим концепцию иерархии, а также рассмотрим две основные темы этой главы — наследование и полиморфизм. Кроме того, мы обсудим:
• Роль наследования в инструментарии для разработки приложений (application frameworks), таком как Object Windows Library (OWL, Библиотека Object Windows) фирмы Borland
• Как с помощью наследования быстро и эффективно создавать собственные классы из существующего исходного кода
• Чем хорош полиморфизм и как его воплотить в программах на C++
Что такое иерархия, наследование и полиморфизм
Большинство из вас, скорее всего, знакомы с концепцией иерархии (hierarchy); это нечто такое, с чем мы сталкиваемся каждый день. Если вы работаете в большой корпорации, то являетесь частью иерархии, которая