Recommandé, 2024

Choix De L'Éditeur

Différence entre agrégation et composition

L'agrégation et la composition sont les types d'association. La principale différence entre l'agrégation et la composition est que l'agrégation implique une relation dans laquelle l'enfant peut exister indépendamment du parent. D'autre part, la composition insinue une relation où l'enfant ne peut exister indépendamment du parent.

La programmation orientée objet est un paradigme commun utilisé dans le développement de logiciels. L'objet est une instance d'une classe créée par des classes. Les objets collaborent les uns avec les autres via des liens. Les liens sont le lien physique et conceptuel existant entre les objets. Une collection de liens ayant une structure et une sémantique similaires est décrite comme une association .

Tableau de comparaison

Base de comparaisonAgrégationComposition
De baseEn agrégation, il existe une relation dans laquelle un enfant peut exister indépendamment du parent.En composition, le ne peut pas exister indépendamment du parent.
Type de relation"a un""partie de"
Type d'associationAssociation faibleAssociation forte
Symbole de conception UMLReprésenté par un diamant creux à côté de la classe d'assemblage.Représenté par un diamant plein à côté de la classe d'assemblage.
Une fonctionLa suppression de l'assemblage n'affecte pas ses pièces.Si l'objet de classe propriétaire est supprimé, cela peut affecter considérablement l'objet de classe contenant.

Définition de l'agrégation

L'agrégation peut être définie comme une relation avec une classe d'assemblage à une classe constitutive. La relation entre deux objets peut être représentée en traçant un segment de ligne en UML (Unified Modeling Language).

L'agrégation est également utilisée pour spécifier la multiplicité d'objets tels que des objets un-à-un, un-à-plusieurs et plusieurs-à-plusieurs. Lorsqu'un objet de classe X est associé à un seul objet de classe Y, il existe dans ce cas une relation un à un. De même, si un seul objet d'une classe est associé à plusieurs objets d'une classe, cette relation est appelée relation un-à-plusieurs.

Par exemple, une voiture comprend des roues, un moteur, une boîte de vitesses, une direction, une carrosserie, etc. Une voiture est un ensemble et ses autres composants sont ses composants. La voiture aux roues est une agrégation, la voiture aux moteurs est une autre agrégation, et ainsi de suite. Chaque appariement individuel est défini pour spécifier la multiplicité de chaque partie constitutive au sein de l'assemblage. Le nombre d'objets peut également être représenté.

L'agrégation est un type d'association qui décrit un type de relation "a un" entre les objets. Par exemple, une voiture "a une" boîte de vitesses et une voiture "a un" moteur . Pour la relation un-à-plusieurs, par exemple, une voiture «a» plusieurs roues .

Définition de la composition

La composition est aussi un type d’association mais une forme plus restrictive. Il est représenté en UML par un minuscule diamant plein adjacent à la classe d'assemblage.

Dans ce type d’association, la partie constitutive peut être liée à au plus un assemblage. De plus, quand une pièce constitutive collabore avec l'assemblage, elle a la durée de vie simultanée avec l'assemblage.

Ainsi, la composition signifie la propriété de la partie constitutive de l’ensemble. Cela augmenterait en fin de compte la commodité de la programmation. La composition peut déclencher la suppression de l'objet constituant par la suppression d'un objet d'assemblage.

La composition décrit une «partie de» relation. Par exemple, une feuille est une partie d'un arbre, si l'arbre est détruit, alors les feuilles doivent être détruites.

Principales différences entre agrégation et composition

  1. L'agrégation indique une relation dans laquelle des entités parent et enfant peuvent exister indépendamment. Par contre, dans la composition, l'entité enfant dépend du parent.
  2. Dans l'agrégation, il existe une relation "a", alors que dans la composition, il existe une "partie de" relation entre les objets de classe assembleurs et constituants.
  3. L'agrégation est une association faible, tandis que la composition est une association forte, car elle comporte plus de contraintes.
  4. Dans la conception UML, l'agrégation est décrite par un diamant creux. En revanche, la composition est représentée par un diamant plein.

Conclusion

En agrégation, les parties constituantes ont une existence indépendante et peuvent être partagées ou réaffectées à des agrégats ou à son assemblage. En revanche, en composition, la partie constitutive appartient à un seul assemblage ou agrégat. De plus, la pièce est créée lorsque l'agrégat est formé et la pièce est détruite lorsque l'agrégat est détruit.

Top