Понятие наследования

  • docx
  • 18.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-002130.docx

Понятие наследования

С точки зрения моделирования предметной области наследование предназначено для описания некоторой сущности (потомка) путем ука- зания отличий от другой сущности (предка).

В ООП наследование рассматривается как отношение между класса- ми, при котором класс-потомок представляет собой разновидность клас- са-предка.

Отношение наследования раскрывает предметную область по типу

«общее - специфическое». Представление предметной области в виде наследования представляет собой иерархию, на вершине которой нахо- дится класс-предок (базовый класс), а на нижних уровнях – классы- наследники (наследуемые классы).

Предок может иметь множество наследников. Наследник может иметь не более одного прямого предка. Другими словами, в С# явным образом не поддерживается множественное наследование. Потомок не может унаследовать поля и методы от нескольких прямых предков. Пример на- следования приведен на Рис.1.

 

Автомобиль базовый комплектации

Кузов Двигатель Колеса Фары Стекла

 

 

 


 

 

 

 

 

 

 

 

Этот вариант отличия не возможен

Рис.1

Специфические черты классу-потомку могут быть приданы двумя способами:

- Дополнение унаследованных от предка полей и методов новыми по- лями и методами. В результате потомок становится сложнее по структуре и поведению.


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

 

Механизм реализации:

-   При определении класса-потомка указывается базовый класс: class

ИмяКласса: ИмяБазовогоКласса;

-   В классе определяются дополнительные поля и методы или переоп- ределяются поля и методы базового класса.

 

С точки зрения технологии программирования наследование позво- ляет решить проблемы:

       Повторное использование кода (создание новых классов на основе существующих)

       Модификация существующего кода (изменение в базовом классе немедленно приводит к изменению в классах-потомках)


 

Посмотрите также