<<
>>

Наследование для расширения

Если наследование для обобщения модифицирует существующее поведение родительского класса, то наследование для расширения добавляет совершенно новые черты поведения. Иначе говоря, наследование для обобщения обязано переопределить какие-то методы родителя, а функциональность подкласса жестко привязана к родительской функциональности.
Напротив, расширение просто увеличивает родительский набор методов, и функциональность подкласса не так сильно привязана к существующим методам родителя.

Положим, что родителем является класс Очередь, реализующий дисциплину обслуживания FIFO и предоставляющий методы вставить_с_хвоста(), удалить_с_ головы() и пусто(). Путем наследования для расширения создан дочерний класс ДвухсторонняяОчередь, в который добавлены два метода: вставить_с_головы() и удалить_с_хвоста(). Такие методы имеют смысл только для подкласса, но не для класса-родителя.

Поскольку методы родителя остаются нетронутыми и доступными, результаты наследования для расширения удовлетворяют принципу подстановки. Отсюда вывод: расширяющие подклассы всегда получают сертификат «подтипа».

<< | >>
Источник: Сергей Александрович Орлов. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения. 2013

Еще по теме Наследование для расширения:

  1. § 40 Наследование в боковой линии. – В каких случаях женщина пользуется правом представления. – Наследование в родовом имении сообразно происхождению имения. – Наследование в благоприобретенном имении. – Предпочтение полнородных неполнородным (ст. 1133–1140).
  2. § 43 Особые порядки наследства. – Наследование и раздел у крестьян по обычаю. – Закон наследования в прибалтийских губерниях.
  3. ВАРИКОЗНОЕ РАСШИРЕНИЕ ВЕН
  4. § 38 Когда открывается наследство по русскому закону. – Ограничения наследственного права. – Имущество, составляющее предмет наследования. – Отношение наследования по закону к завещанию. – Кто может быть наследником?
  5. Расширение графического метода
  6. 2. Расширение круга наследников по закону в российском наследственном праве
  7. Самовоспитание как "расширение" сознания
  8. 3.1. РАСШИРЕНИЕ НЕЙРОЛОГИЧЕСКОГО КОНТАКТА
  9. 3.12.2. Техника расширенного восприятия
  10. Расширение внутреннего кругозора
  11. 7.2.2. Расширение полноты ответа