Читайте также:
|
|
НАСЛЕДОВАНИЕ
Понятие наследования
С точки зрения моделирования предметной области наследование предназначено для описания некоторой сущности (потомка) путем указания отличий от другой сущности (предка).
В ООП наследование рассматривается как отношение между классами, при котором класс-потомок представляет собой разновидность класса-предка.
Отношение наследования раскрывает предметную область по типу «общее - специфическое». Представление предметной области в виде наследования представляет собой иерархию, на вершине которой находится класс-предок (базовый класс), а на нижних уровнях – классы-наследники (наследуемые классы).
Предок может иметь множество наследников. Наследник может иметь не более одного прямого предка. Другими словами, в С# явным образом не поддерживается множественное наследование. Потомок не может унаследовать поля и методы от нескольких прямых предков. Пример наследования приведен на Рис.1.
Специфические черты классу-потомку могут быть приданы двумя способами:
- Дополнение унаследованных от предка полей и методов новыми полями и методами. В результате потомок становится сложнее по структуре и поведению.
- Изменение унаследованных от предка полей и методов. В результате потомок не становится сложнее, меняется лишь способ реализации полей и методов, то есть имеет место отношение: то же самое, но сделано по-другому.
Механизм реализации:
- При определении класса-потомка указывается базовый класс: class ИмяКласса: ИмяБазовогоКласса;
- В классе определяются дополнительные поля и методы или переопределяются поля и методы базового класса.
С точки зрения технологии программирования наследование позволяет решить проблемы:
• Повторное использование кода (создание новых классов на основе существующих)
• Модификация существующего кода (изменение в базовом классе немедленно приводит к изменению в классах-потомках)
Дата добавления: 2015-07-15; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Функции мышцы | | | Наследование как средство усложнения базового класса |