Bonjour,
je me demandais où trouver des exemples d'implémentations en java pour les différents type d'associations UML : association, composition et aggrégation ?
Version imprimable
Bonjour,
je me demandais où trouver des exemples d'implémentations en java pour les différents type d'associations UML : association, composition et aggrégation ?
tu peux regarder ce que produisent les modeleurs dans les trois cas, et tu verras qu'il n'y aura pas de différence au niveau de l'implémentation de la relation, ce sera toujours du type "X x;"
En C++ tu aurais deux cas, la composition produirait "X x;" les autres cas "X * x;", même si rien n'empêche une composition de passer aussi via un pointeur
pour une définition/prise en compte complète il faudrait aussi regarder du coté du constructeur et surtout du destructeur (ou équivalent) puisque dans le cas d'une composition la mort du conteneur implique la mort de la cible de la composition
c'est un peu le même problème dans le cas d'une relation bidirectionnelle, la définition de la relations ne suffit pas. Il faut quelque chose qui initialise les deux cotés de la relation et qui ne peut qu'être du code et non une simple définition d'attributs
Effectivement j'ai vérifié ce que génère Bouml et c'est bien ça. Mais je me demandais si d'autre modeleur ne genère pas d'autre choses.
Tout à fait d'accord, et en fait c'est un peut le sens de ma question :
pour la composition, faut-il implémenter des new/delete (ou =null) dans constructeur/destructeur (et dans ce cas comment doit être gérée la cardinalité *)
De même pour les relations bidirectionnelles, l'aggrégation implique-t-elle des méthodes assurant la cohérence de la relation.