INFORMATIQUE > CONCEPTS ET TERMES SCIENTIFIQUES (INFORMATIQUE)
N. m. Concept consistant à fournir une interface unique à des entités de types différents.
Il est implémenté (ou pas) de différents manières dans les différents langages de programmation.
On distingue généralement trois types de polymorphismes différents
Polymorphisme ad hoc (surcharge)
Il consiste à écrire des fonctions de même nom et de même signature qui peuvent prendre des paramètres de type différents.
Les fonctions ne réalisent pas exactement le même traitement en fonction du type.
Le compilateur décide du type d'action à réaliser en fonction du type des paramètres. Ce polymorphisme ne peut donc exister que pour les langages typés.
Polymorphisme paramétrique (on dit aussi généricité).
Une seule fonction est implémentée. Elle réalise la même action en s'adaptant au type passé en paramètre.
Ce polymorphisme est implémenté en Caml, en Haskell et en Scala.
Polymorphisme par inclusion (héritage)
Implémentation d'une fonction dans chaque classe faisant partie de la même hiérarchie. Ce polymorphisme n'a de sens qu'en programmation orientée objet.