Quelle est la différence entre l'agrégation et la composition

Table des matières:

Anonim

Les différence principale entre l'agrégation et la composition est que l'agrégation est une association entre deux objets qui ont la relation « a une », tandis que la composition est un type spécial d'agrégation qui décrit la propriété.

La programmation orientée objet (POO) est un paradigme majeur en génie logiciel. Selon la POO, les objets communiquent entre eux. Une classe est un plan pour créer des objets tandis qu'une association est une connexion entre deux ou plusieurs objets. L'agrégation et la composition sont deux types d'association qui décrivent les relations entre des objets ou des classes.

Agrégation, Composition, POO, UML

Qu'est-ce que l'agrégation

L'agrégation est une association qui décrit « a une » relation entre des objets. Par exemple, une classe et un élève sont liés par une relation « a ».

Figure 1: Diagramme UML avec agrégation

Lorsque l'on considère le scénario classe et étudiant ci-dessus, l'objet étudiant ne dépend pas de l'objet classe. De plus, la destruction de la salle de classe n'affecte ni ne détruit l'objet étudiant. Par conséquent, l'association entre la classe et l'élève est une agrégation. De plus, Unified Modeling Language (UML) est un langage de modélisation visuelle qui aide à développer des systèmes logiciels. En UML, le losange représente l'agrégation.

Qu'est-ce que la composition

La composition est un type spécial d'agrégation qui décrit la propriété. Un exemple est le suivant.

Figure 2: Composition dans le diagramme UML

Dans le diagramme ci-dessus, l'objet École contient des objets de classe. Comme l'objet école contient des objets de classe, il s'agit d'une agrégation, mais il s'agit d'un type particulier d'agrégation. Si nous détruisons l'objet école, l'objet classe est également détruit. Par conséquent, c'est une composition, et cela implique la propriété. En UML, le losange en surbrillance représente la composition.

Différence entre agrégation et composition

Définition

L'agrégation est une association entre deux objets qui décrit la relation « a un », tandis que la composition est le type d'agrégation le plus spécifique qui implique la propriété. C'est donc la principale différence entre l'agrégation et la composition.

Fonctionnalité

Dans l'agrégation, la destruction de l'objet propriétaire n'affecte pas l'objet conteneur. Cependant, dans la composition, la destruction de l'objet propriétaire affecte l'objet contenant. C'est donc une autre différence entre l'agrégation et la composition.

Représentation UML

De plus, le losange représente l'agrégation en UML tandis que le losange en surbrillance représente la composition en UML.

Conclusion

En POO, les objets communiquent entre eux. Ici, la relation entre les objets est une association. L'agrégation et la composition sont deux types d'associations entre des objets ou des classes. La différence entre l'agrégation et la composition est que l'agrégation est une association entre deux objets qui ont la relation « a une », tandis que la composition est un type spécial d'agrégation qui décrit la propriété.

Référence:

1. 6 5 Using Aggregation and Composition, People Career, 22 mai 2015, disponible ici.

Quelle est la différence entre l'agrégation et la composition