En informatique et en théorie des types, le polymorphisme, du grec ancien polús (plusieurs) et morphê (forme), est le concept consistant à fournir une interface unique à des entités pouvant avoir différents types. Par exemple, des opérations telles que la multiplication peuvent ainsi être étendues à des scalaires aux vecteurs ou aux matrices, l'addition, des scalaires aux fonctions ou aux chaînes de caractères, etc. Il existe plusieurs sortes de polymorphismes fondamentalement différents :
Sorte | Nom en programmation orientée objet | Nom en programmation fonctionnelle | Description |
---|---|---|---|
polymorphisme ad hoc | surcharge | Une interface unique est implémentée par plusieurs routines ayant le même identifiant, potentiellement hétérogènes, c'est-à-dire chaque routine ayant une combinaison différente de types pour ses paramètres, qu'elle soit membre d'une classe ou non (routine globale). | |
polymorphisme paramétré | programmation générique | polymorphisme | Une interface unique est implémentée par une seule routine utilisant un type générique pour au moins un de ses paramètres, que la routine soit membre d'une classe ou non (routine globale). |
polymorphisme par sous-typage (héritage) | polymorphisme par héritage | polymorphisme d'inclusion | Une interface unique est implémentée par une routine membre ayant le même identifiant dans chaque classe faisant partie de la même hiérarchie d'héritage. |
Selon le langage informatique employé, le polymorphisme peut être réalisé par différents moyens, inhérents au langage ou par emploi de patrons de conception.
© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search