Enfoque que da más importancia a si un objeto tiene los métodos necesarios que a su tipo declarado.
Filosofía de diseño habitual en lenguajes dinámicos, basada en la idea de que si camina como un pato y grazna como un pato, es un pato: prioriza si existen los métodos necesarios frente al tipado explícito. El bucle for de Python funciona sobre cualquier cosa que implemente el protocolo de iterador sin importar su tipo declarado; esto da un polimorfismo flexible sin declaraciones de tipo explícitas, pero también implica que no se sabe si un objeto realmente tiene el método necesario hasta que se ejecuta, con un riesgo real de errores en tiempo de ejecución.
© 2026 ITBGM