<<
>>

Переопределение и виртуальные методы

С точки зрения синтаксиса, при переопределении дочерний класс должен определить метод с тем же именем и сигнатурой типов, что и в родительском классе. Для сочетания переопределения с подстановкой необходимо обеспечить, чтобы объект, объявленный как экземпляр некоторого класса, дополнительно нес в себе черты объекта дочернего класса, тогда метод, инициируемый сообщением, можно найти в паре из этих классов.
В подобных случаях требуется, чтобы был выполнен метод класса-потомка, а метод из класса-родителя был проигнорирован.

Таблица 16.2. Переопределение метода в языках С++ и С#

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

455

Во многих объектно-ориентированных языках (Smalltalk, Java) подобное поведение реализуется естественным образом, как только класс-потомок переопределит метод класса-родителя, сохранив сигнатуру типов в заголовке. С другой стороны, в некоторых языках потребуется, чтобы программист явно записал, что такая подстановка разрешается. Для индикации этой возможности во многих языках применяется ключевое слово virtual. В частности, в родительском классе C++ слово размещается в родительском классе (отмечая, что переопределение может произойти, но не указывая, что оно обязательно произойдет). В языке C# пометки делаются как в родительском, так и в дочернем классе, причем, как показано в табл. 16.2, используются разные слова.

<< | >>

Еще по теме Переопределение и виртуальные методы:

  1. Виртуальное послесловие
  2. ГЛАВА 11 ПРАВОВЫЕ ПРОБЛЕМЫ ВИРТУАЛЬНОЙ СРЕДЫ ИНТЕРНЕТ
  3. Виртуальное сексуальное насилие над детьми
  4. ПОНЯТИЕ О МЕТОДАХ ОБУЧЕНИЯ. МЕТОД И ПРИЕМ. ОСНОВНЫЕ ПОДХОДЫ К КЛАССИФИКАЦИИ МЕТОДОВ ОБУЧЕНИЯ
  5. Ключ мог родиться только в России. Ключ к себе — ключ к системам. (это не метод среди методов, а Ключ к собственному методу)
  6. 2. Сравнительно-правовой метод – частнонаучный метод юридической науки
  7. Метод та принципи цивільно-правового регулювання. Методом
  8. Поскольку Метод Ключ основан на использовании естественного рефлекторного механизма, то этому методу может научиться каждый человек и применять его, когда ему необходимо.
  9. ПСИХОЛОГИЯ: МЕТОД
  10. МЕТОД ОРГАНИЗАЦИОННЫЙ
  11. МЕТОД ПСИХОГЕНЕТИЧЕСКИЙ
  12. МЕТОД ШКАЛИРОВАНИЯ
  13. МЕТОД ЛОНГИТЮДНЫЙ
  14. МЕТОД СРЕЗОВ
  15. 4.3. МЕТОДЫ
  16. Классификация методов.
  17. Тема 10. МЕТОДЫ ОБУЧЕНИЯ