En gros plutôt que dire: Ma méthode doit recevoir une instance du type X
Tu dis: Ma méthode doit recevoir un objet implémentant une méthode coin()
C'est exactement la définition du (sous-)typage structurel.
In structural typing, an object or term is considered to be compatible with another type if for each feature within the second type, there must be a corresponding and identical feature in the first type. http://en.wikipedia.org/wiki/Structural_type_system
Je ne vois vraiment pas ce qu'il y a en plus, et plus je lis dessus, plus j'ai l'impression que c'est un joli mot inventé pour expliquer avec les mains un concept de théorie des types, inventé par des gens qui ne connaissaient pas ladite théorie.
Ce n'est pas grave, et si ça aide à le populariser, tant mieux, mais ce qui me gêne c'est qu'on répète partout que c'est différent : j'aimerais qu'on me donne un exemple faisable avec l'un et pas avec l'autre, pour être clair. Je n'ai strictement rien vu qui les différencie pour l'instant.
[^] # Re: Duck typing
Posté par MrLapinot (site web personnel) . En réponse au journal Le problème de la POO pratiquée par des étudiants. Évalué à 4.
C'est exactement la définition du (sous-)typage structurel.
Je ne vois vraiment pas ce qu'il y a en plus, et plus je lis dessus, plus j'ai l'impression que c'est un joli mot inventé pour expliquer avec les mains un concept de théorie des types, inventé par des gens qui ne connaissaient pas ladite théorie.
Ce n'est pas grave, et si ça aide à le populariser, tant mieux, mais ce qui me gêne c'est qu'on répète partout que c'est différent : j'aimerais qu'on me donne un exemple faisable avec l'un et pas avec l'autre, pour être clair. Je n'ai strictement rien vu qui les différencie pour l'instant.