Quelle est la différence entre composition et agrégation? [dupliquer]

StackOverflow https://stackoverflow.com/questions/813048

  •  03-07-2019
  •  | 
  •  

Question

Quelle est la différence entre composition et agrégation? quelqu'un peut-il me donner un échantillon de cette OOAD?

Était-ce utile?

La solution

trouvé ici

"L'agrégation et la composition sont toutes deux des associations particulières. L'agrégation est utilisée pour représenter la propriété ou une relation tout / partie, et la composition est utilisée pour représenter une forme de propriété encore plus forte. Avec la composition, nous obtenons une durée de vie coïncidente avec le tout. L'objet composite est seul responsable de la disposition de ses parties en termes de création et de destruction.

De plus, la multiplicité de la fin agrégée ne peut dépasser un; c'est-à-dire qu'il n'est pas partagé. Un objet peut faire partie d'un seul composite à la fois. Si le composite est détruit, il doit soit détruire toutes ses parties, soit en rendre responsable un autre objet. Un objet composite peut être conçu en sachant qu'aucun autre objet ne détruira ses parties.

La composition peut être utilisée pour modéliser une agrégation par valeur, qui est sémantiquement équivalente à un attribut. En fait, la composition s'appelait à l'origine agrégation par valeur dans un brouillon antérieur UML, l'agrégation «normale» étant considérée comme une agrégation par référence. Les définitions ont légèrement changé, mais les idées générales sont toujours valables. La distinction entre agrégation et composition est davantage une notion de conception et n’est généralement pas pertinente lors de l’analyse. "  John Moore

Autres conseils

Considérons un élève, son cerveau et son école.

Le cerveau fait partie de l'étudiant. Si l'élève est détruit, le cerveau l'est aussi. Ceci est la composition .

L'élève a une école. L'élève survit à la destruction de l'école et vice versa. Il s'agit de agrégation .

Réponse pertinente à votre question ici: http://ootips.org/uml-hasa.html

En bref: la composition et l’agrégation sont tous deux acycliques et comportent une partie et un entier . La différence est qu’avec la composition, l’ensemble entier est chargé de créer (et de supprimer) sa partie s.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top