Certaines notes des diagrammes de classe UML m'embrouillent.
Je suis sûr que je sais ce que signifie Association . Toute relation entre des instances de deux classes, lorsqu'une instance d'une classe a besoin de connaître une instance de la seconde classe pour pouvoir exécuter son travail, est une relation d'association. Une association signifie souvent que la classe A a une référence (champ) à une instance de la classe B.
Cependant, j'ai du mal à comprendre ce que signifient les flèches d' agrégation et de composition . Une partie de ma confusion a été causée par la rencontre de différentes définitions de ces notations.
Deux définitions de la notation d' agrégation :
Définition 1: Une notation d'agrégation entre deux classes est appropriée lorsqu'une instance de la classe A contient une collection d'instances de la classe B (par exemple, une liste, un tableau, peu importe).
Définition 2: Un lien d'agrégation entre deux classes convient si une instance de la classe A contient une référence à une instance de la classe B et que l'instance B dépend du cycle de vie de l'instance A. Signification: Lorsque l'instance de la classe A est supprimée, l'instance de la classe B le sera également. L'instance de la classe B est entièrement contenue par l'instance de la classe A, par opposition à l'instance de la classe A possédant simplement une référence à l'instance de classe B (qui est une association régulière).
En ce qui concerne la signification de la composition et ses différences avec la notation d'agrégation, je n'en suis pas sûre.
Veuillez clarifier les définitions et aidez-moi à comprendre. Des exemples concrets seraient les bienvenus.