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
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Les 6 étapes vers un diagnostic réussi
- Chiffrements symétrique vs asymétrique
Les plus consultés sur iTPro.fr
- IA de confiance : le facteur clé pour rentabiliser les projets d’entreprise
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Hôpitaux virtuels : renforcer le système de santé français grâce au numérique
- Cybercriminalité bancaire : l’IA industrialise les attaques en 2026
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
