vitya_brodov
@vitya_brodov
Java dev

Полиморфизм — это обратное наследование?

Правильно ли считать полиморфизм обратным наследованием?
То есть: способность предка применять поля и методы дочернего класса?
Если нет, то можно пожалуйста объяснение простыми словами + пример?
Заранее спасибо!
  • Вопрос задан
  • 369 просмотров
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker
Программист, энтузиаст
Это ваше собственное определение про обратное наследование?
Родительский класс ничего не знает о методах потомков.
Полиморфизм нужен для организации уровня абстракции.
У автомобиля есть абстрактный интерфейс: разгоняться, тормозить, поворачивать. Вы применяете соответствующие методы, а под капотом происходит полиморфизм в зависимости от того, на какой машине вы едете: на ДВС при ускорении отодвигается заслонка, обогащается сместь, поступает в форсунки, увеличиваются обороты; у электромобиля частотник увеличивает частоту, синусоиды, идущей на двигатели, он начинает крутиться быстрее... Потом кто-то придумал гибрид и там всё гораздо сложнее, но на уровне "предка" обо всём этом не нужно думать, благодаря полиморфизму мы имеем простые понятные методы, которые у потомков реализованы по-своему.
Ответ написан
Комментировать
@VitalyChaikin
Видимо речь идет о (dependency inversion principle, DIP) — Принцип инверсии зависимостей
Термины которыми Вы оперируете (обратное наследование) не известны. И трудно понять в чем собственно заключается вопрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы