Notions générales sur le concept
Plan
de ce chapitre:![]() Introduction |
Polymorphisme (autres chapitres) : |
Rappelons que la POO regroupe certains concepts fondamentaux. L'encapsulation des membres sous des visibilités de types publics, privés ou protégés a trait à la capacité d'un objet de posséder en lui-même les données et les actions qui caractérisent son comportement. Le concept d'héritage permet quant à lui la factorisation des fonctionnalités d'objets dénommés parents ou ancêtres vers d'autres objets dénommés leurs enfants ou descendants. Il y a un concept essentiel en POO désignant la capacité d'une hiérarchie de classes à fournir différentes implémentations de méthodes portant le même nom et par corollaire la capacité qu'ont des objets enfants de modifier les comportements hérités de leur parents. Ce concept d'adaptation à différentes "situations" se dénomme le polymorphisme.
Le concept actuel de polymorphisme en POO peut être implémenté à plusieurs niveaux :
Polymorphisme d'objet
C'est une interchangeabilité entre variables d'objets de classes de
la même hiérachie sous certaines conditions, que dénommons
le polymorphisme d'objet.
Polymorphisme par héritage
de méthode
Lorsqu'une classe enfant hérite d'une classe mère, des méthodes
supplémentaires nouvelles peuvent être implémentées
dans la classe enfant mais aussi des méthodes des parents substituées
pour obtenir des implémentations différentes.
Polymorphisme par héritage
de classes abstraites
Une classe abstraite est une classe qui ne peut pas s'instancier elle-même
; elle doit être héritée. Certains membres de la classe
peuvent ne pas être implémentés, et c'est à la
classe qui hérite de fournir cette implémentation.
Polymorphisme par implémentation
d'interfaces
Une interface décrit la signature complète des membres qu'une
classe doit implémenter, mais elle laisse l'implémentation de
tous ces membres à la charge de la classe d'implémentation de
l'interface.