<<
>>

Единичное наследование

В языке Java метод может быть определен со спецификатором final, что вводит запрет на его переопределение в любом классе-наследнике. Если зарезервированное слово final появляется в определении класса, то у такого класса не может быть классов-наследников.
Язык Java использует аннотацию ^Override, которая информирует компилятор о необходимости проверки переопределения последующим методом некоторого метода в классе-предке. При отрицательном результате компилятор формирует сообщение об ошибке. Как и язык C++, Java требует, чтобы перед вызовом конструктора подкласса был вызван конструктор родительского класса. Если же в родительский конструктор нужно передавать параметры, то вызов этого конструктора должен быть записан явно, как показано в следующем примере: super(77, true);

Если же явный вызов родительского конструктора отсутствует, компилятор сам вставит вызов родительского конструктора без параметров. Java не поддерживает приватное и защищенное наследование, реализованное в языке C++. Дело в том, что разработчики языка считают: подклассы должны быть подтипами, чему противоречит приватное и защищенное наследование. Ранние версии языка Java включали коллекцию Vector, содержащую множество методов для обработки данных.

Кроме

494 Глава 16. Объектно-ориентированное и аспектно-ориентированное программирование

того, предлагался подкласс вектора — Stack, добавлявший методы для операций push() и pop(). Поскольку в языке нет приватного наследования, все методы вектора были видимы в классе Stack, поэтому объекты допускали использование целого ряда операций, некорректных для стека.

В языке C++ для обеспечения динамического связывания метод должен быть определен как виртуальный. В языке Java сообщения динамически связываются со всеми методами. Исключением является метод с пометкой final, который не может переопределяться и связывание с которым является статическим. Статическое связывание применяется также, если метод помечен как static или private; любая из этих пометок запрещает переопределение.

<< | >>

Еще по теме Единичное наследование:

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