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
Créer des agents dans Microsoft 365 Copilot
Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Sous pression, les CIO entrent dans l’ère de la responsabilité IA
- FOCUS : optimisation du Cloud grâce à l’intelligence Artificielle
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
- Top 5 du Baromètre de la cybersécurité 2025 : entre confiance et vulnérabilités persistantes
Articles les + lus
Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
Alliée ou menace ? Comment l’IA redessine le paysage cyber
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
À la une de la chaîne Tech
- Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
- Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
