“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 300 — #310
i
i
i
i
i
i
i
i
300
6
• La programmation orientée objet
class CompositeFigure from Figure
attr figlist
meth init
figlist:={New LinkedList init}
end
meth add(F)
{@figlist add(F)}
end
meth move(X Y)
{@figlist forall(move(X Y))}
end
meth display
{@figlist forall(display)}
end
end
La figure 6.11 montre le diagramme de classe pour cette version. Le lien entre CompositeFigure et LinkedList s’appelle une association. Il représente une relation
entre les deux classes. Les nombres attachés aux deux bouts sont des cardinalités ;
chaque nombre dit combien d’éléments il y a dans chaque association. Le nombre 1 sur
le côté de la liste enchaînée signifie qu’il y a exactement une liste enchaînée par figure
composite, et de même pour l’autre côté. Le lien d’association est une spécification ;
il ne dit pas comment il est implémenté. Dans notre cas, chaque figure composite a un
attribut figlist qui référence une liste enchaînée.
Figure
LinkedList
elem
next
init
add(F)
forall(P)
CompositeFigure
init
figlist
move(X Y)
display
add(F)
Association
1
1
Figure 6.11 Un diagramme de classe avec une association.
L’exemple d’exécution que nous avons donné auparavant sera valable aussi dans le
cas de l’héritage simple. Quelles sont les différences entre l’utilisation de l’héritage
Précédent

- 315/370

Suivant