Download ÉDITION
Transcript
A P P R O C H E
O R I E N T É E
O B J E T
fonctions membres. Il est alors possible d’introduire de l’inconsistance entre
l’interface d’une classe parente et l’interface de ses enfants. C’est la responsabilité du
programmeur de vérifier la satisfaction de ce principe de substitution. Le principe de
substitution doit être respecté si nous désirons réaliser le polymorphisme.
4.7.6
POLYMORPHISME
Le terme polymorphisme signifie un élément qui peut prendre plusieurs formes. Par
exemple, l’argent peut être sous forme de papier ou de monnaie. D’un point de vue
orienté objet, le polymorphisme est un concept dans lequel un nom d’objet peut
désigner des instances de différentes classes dans une même hiérarchie de classes.
En termes pratiques, le polymorphisme des classes est appliqué à des opérations.
Dans ce contexte, la surclasse est dotée d’opérations dont le mécanisme représente
une abstraction qui sera réalisée par ses sous-classes. Les sous-classes, quant à elles,
héritent les caractéristiques de sa surclasse et réalisent localement l’implantation du
mécanisme à l’aide de ses opérations. Par exemple, une figure géométrique possède
un attribut appelé coordonnées. Nous pouvons construire une hiérarchie de classes
partant de ce point de départ. Les figures géométriques sont également dotées d’une
opération appelée Affichage(). Évidemment, le mécanisme d’affichage peut
différer d’une figure à l’autre. Ainsi, le polymorphisme des opérations est exprimé
par un mécanisme général et abstrait instauré dans la surclasse.
Figure
- Coordonnées
...
+ Affichage()
{
}
Ligne
Rectangle
- Point pt1, pt2
- Point CoinSupGauche,
CoinInfDroite
+ Affichage()
{ putline();}
+ Affichage()
{ putRectangle();}
Point
- Coordonnées
...
+ Affichage()
{ putpixel(); }
Figure 43 Hiérarchie de classes possédant le polymorphisme des opérations.
Les sous-classes Point, Ligne et Rectangle disposent d’une opération
Affichage(). La capacité de l’affichage des figures géométriques est instaurée dans
169