Автор оригинала: T. Anre
Вы согласны с этой фразой?
Нет. Не согласен. Основной признак полиморфизма -- возможность прозрачного использования объекта одного класса вместо объекта другого класса.
В частности, поэтому я считаю, что:
что полиморфное поведение достигается только через переопределение.
Перейдем теперь ко второму вопросу:
Как вы понимаете статический и динамический полиморфизмы?
Так называемый динамический полиморфизм, он же просто полиморфизм -- это то, что я описал выше.
Так называемый статический (и плюс к нему -- параметрический) полиморфизм представляет собой наследие до-объектного программирования и к ООП не имеет вообще никакого отношения. Когда мы имеем дело с этим видом так называемого полиморфизма, мы в 100% случаев твердо знаем, с каким классов/типом имеем дело. Соответственно, ничего полиморфного в этом нет.
Все свойства этого вида "полиморфизма" реализуются в до-объектных языках. Где, собственно, они и возникли.