![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Попросту говоря, наследование - это такое отношение между классами, когда один класс повторяет структуру и поведение другого класса (одиночное наследование) или других (множественное наследование) классов. Класс, структура и поведение которого наследуются, называется суперклассом. Производный от суперкласса класс называется подклассом. Это означает, что наследование устанавливает между классами иерархию общего и частного. Подкласс обычно расширяет или ограничивает существующую структуру и поведение своего суперкласса. Самый общий класс в иерархии классов называется базовым. В большинстве приложений базовых классов бывает несколько, и они отражают наиболее общие абстракции предметной области. На самом деле, особенно в C++, хорошо сделанная структура классов - это скорее лес из деревьев наследования, чем одна многоэтажная структура наследования с одним корнем. Но в некоторых языках программирования определен базовый класс самого верхнего уровня, который является единым суперклассом для всех остальных классов. В языке Smalltalk эту роль играет класс object. Есть серьезные противоречия между потребностями наследования и инкапсуляции. В значительной мере наследование открывает наследующему классу некоторые секреты. На практике, чтобы понять, как работает какой-то класс, часто надо изучить все его суперклассы в их внутренних деталях. Касаясь множественного наследования – оно мало где поддерживается даже в современных языках. Его обычно эмулируют с помощью интерфейсов (класс реализует интерфейс).
Пример выделения суперклассов
Дата публикования: 2015-02-03; Прочитано: 184 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!