Polymorphisme
Polymorphisme signifie "formes multiples", et cela correspond à un besoin très courant en programmation : celui de fonctionner exactement comme un tout, à quelques différences prés. Ainsi, la formule de calcul de la prime d'une police d'assurance automobile est probablement similaire à celle utilisée pour calculer la prime d'une
Avec le polymorphisme et la possibilité de savoir quelle version de code utiliser à l’exécution, la technologie OO prend tout son sens
police d’assurance de bateau, mais personne ne s’attend à utiliser exactement la même formule pour les deux. De même, les polices d’assurance santé et les polices d’assurance automobile ont des primes mais on utilise des modes de calcul complètement différents. Le polymorphisme collabore avec l’héritage pour créer des changements dans une méthode sans redéfinir toutes les variables et les méthodes concernées. Il offre aussi de nombreuses possibilités quant aux modalités d’héritage du code. On peut utiliser le code de la classe parent directement, le remplacer complètement ou appeler le code parent puis ajouter un traitement unique à la classe enfant.
Sans polymorphisme, l’héritage est limité : mais avec le polymorphisme et la possibilité de savoir quelle version de code utiliser à l’exécution, la technologie OO prend tout son sens. Sachant que les langages OO peuvent créer leurs propres types de données, on voit toutes les possibilités dans notre exemple de calcul de prime d’assurance : une application qui calcule les primes pour toutes les polices peut préciser un type de données « Police » et une méthode « CalculPrime ».
Ce code se compilera parce que la classe Police contient une méthode CalculPrime abstraite. Une méthode abstraite n’a pas de code, mais oblige toutes les classes à hériter de la classe dans laquelle la méthode abstraite est définie, pour mettre en oeuvre une méthode de même signature que la méthode abstraite.
Le polymorphisme permet à différents types de Police d’utiliser automatiquement, à l’exécution, la méthode CalculPrime spécifique codée pour chaque classe de Police (PoliceAuto, PoliceBateau, PoliceSantéPrincipale). Par conséquent, notre routine de niveau supérieur peut définir CalculPrime pour un objet Police et les objets d’exécution réels peuvent être de n’importe quel type hérité de Police.
Le polymorphisme est également lié à l’encapsulation, complétant ainsi les trois concepts à la base du modèle OO. Sans l’encapsulation, le polymorphisme serait difficile à maîtriser, mais l’encapsulation permet à un programmeur travaillant avec n’importe quelle classe d’indiquer quelles méthodes et variables doivent être utilisées exactement telles qu’on les a écrites et lesquelles peuvent subir des modifications par le biais du polymorphisme.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Reprendre le contrôle de son SI : la clé d’un numérique à la fois souverain et responsable
- Splunk : vers un SOC agentique et de confiance
- Le trilemme de la souveraineté : le coût caché du cloud qui freine l’IA en Europe
- Moderniser le développement logiciel : de la fragmentation à l’intégration
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
