В чем разница между полиморфизмом и утиной типизацией?

Я немного запутался в этих двух терминах, вот что я знаю:

Полиморфизм — это способность объектов разных типов обрабатываться с помощью общего интерфейса. Утиная типизация — это своего рода динамическая типизация, которая позволяет объектам разных типов реагировать на одни и те же методы.

Насколько я понимаю, полиморфизм больше связан с созданием интерфейса, который можно использовать в разных классах. А утиная типизация — это свободная типизация, которая позволяет вызывать методы, если они найдены у получателя сообщения.

Это верно? Я очень запутался в этих двух, они кажутся связанными, но я не знаю, каковы их отношения. Заранее большое спасибо!

29
задан Simeon Visser 16 July 2012 в 10:33
поделиться