¿Cuál es la diferencia entre el polimorfismo y la tipificación del pato?

Estoy un poco confundido con los dos términos, esto es lo que sé:

El polimorfismo es la capacidad de un objeto de diferentes tipos para ser manejado por una interfaz común. Mientras se escribe pato, es un tipo de escritura dinámica que permite que los objetos de diferentes tipos respondan a los mismos métodos.

Por lo que entiendo, el polimorfismo es más sobre la creación de una interfaz que se puede compartir entre diferentes clases. Y la tipificación de pato se refiere a la tipificación suelta que permitirá llamar a los métodos siempre que se encuentren en el receptor del mensaje.

¿Es esto correcto? Estoy bastante confundido con los dos, parecen relacionados pero no sé cuál es su relación. ¡Muchas gracias por adelantado!

Respuestas a la pregunta(4)

Su respuesta a la pregunta