Différence clé - Agrégation vs composition
La programmation orientée objet (POO) est un paradigme courant dans le développement de logiciels. L'objet est une instance d'une classe. Il n'est pas possible de créer des objets à la fois. Il devrait y avoir un plan ou une description pour créer un objet. Ce plan est connu comme une classe. Une classe contient des propriétés et des méthodes. Les objets sont créés à l'aide de classes. La classe et l'objet sont similaires à un plan et à une maison dans le monde réel. Il n'est pas possible de construire une maison sans un plan approprié. De même, une classe est utilisée pour créer un objet. Un objet collabore avec d'autres objets. Un lien avec représente la relation de deux objets ou plus est appelé une «association». L'agrégation et la composition sont des types d'associations. Ils décrivent la relation entre les classes. Cet article traite de la différence entre l'agrégation et la composition. La principale différence entre l'agrégation et la composition est que l'agrégation est une association entre deux objets qui décrit la relation «a une» et que la composition est un type d'agrégation plus spécifique qui implique la propriété.
CONTENU
1. Aperçu et différence clé
2. Qu'est-ce que l'agrégation
3. Qu'est-ce que la composition
4. Similitudes entre l'agrégation et la composition
5. Comparaison côte à côte - Agrégation vs composition sous forme tabulaire
6. Résumé
Qu'est-ce que l'agrégation?
Une relation entre deux objets est représentée en traçant une ligne dans Unified Modeling Language (UML). Le lien est une association. UML aide à obtenir une représentation visuelle du système. C'est différent des langages de programmation classiques. L'association définit également la multiplicité des objets. Ils sont un-à-un, un-à-plusieurs et plusieurs-à-plusieurs. Lorsqu'un seul objet de classe A est associé à l'objet unique de classe B, il s'agit d'une relation un-à-un. Un exemple est un auteur qui écrit un livre. Dans cet exemple, un auteur écrit un livre.
Lorsqu'un objet de classe A est associé à de nombreux objets de classe B, il s'agit d'une relation un-à-plusieurs. Un exemple est qu'un service peut avoir de nombreux employés. Lorsque l'objet de classe A est associé à de nombreux objets de classe B et qu'un objet de classe B est associé à de nombreux objets de classe A, il s'agit d'une association plusieurs-à-plusieurs. Par exemple, un employé peut travailler sur plusieurs projets et un projet peut avoir plusieurs employés.
L'agrégation est une association de type qui décrit plus en détail la relation entre les objets. L'agrégation décrit «a une» relation. Voici quelques exemples qui décrivent la relation: un élève «a» une carte d'étudiant, un véhicule «a un» moteur. Il est également possible d'étendre une grande quantité avec la relation. Quelques exemples sont, une banque «a plusieurs» comptes bancaires, une classe «a beaucoup» d'étudiants. Cela peut être expliqué à l'aide de l'exemple ci-dessous.
Figure 01: Agrégation
Selon l'exemple ci-dessus, la salle de classe se compose d'un ou de plusieurs élèves. La multiplicité est également utilisée pour indiquer le nombre d'objets. Il décrit qu'une classe compte plusieurs élèves. Le symbole du losange représente l'agrégation en UML. Les objets Student ne reposent pas sur l'objet de classe. Si l'objet de classe est détruit, cela n'affectera pas les objets étudiant. Ces objets existeront toujours.
Qu'est-ce que la composition?
La composition est une forme d'agrégation plus spécifique. Il décrit la propriété. Cela peut être expliqué à l'aide de l'exemple ci-dessous.
Figure 02: Composition
Selon ce qui précède, l'objet livre est constitué d'un objet page ou de pages. La multiplicité est également utilisée pour indiquer le nombre d'objets. Il décrit qu'une classe compte plusieurs élèves. Le symbole du diamant mis en surbrillance représente la composition en UML. Comme le livre a une page ou plusieurs pages, il s'agit d'une agrégation, mais elle est plus précise. Si l'objet livre est détruit, les objets page sont également détruits. Les objets page ne peuvent pas exister sans l'objet livre. Par conséquent, la composition est une forme plus spécifique d'agrégation qui implique la propriété.
Quelles sont les similitudes entre l'agrégation et la composition?
- Les deux sont utilisés dans la programmation orientée objet.
- Les deux sont utilisés dans Unified Modeling Language (UML) pour obtenir une compréhension visuelle du système.
Quelle est la différence entre l'agrégation et la composition?
Diff article au milieu avant la table
Agrégation vs composition |
|
L'agrégation est une association entre deux objets qui décrit la relation «a un». | La composition est le type d'agrégation le plus spécifique qui implique la propriété. |
Symbole UML | |
L'agrégation est désignée par un diamant. | La composition est indiquée par un diamant mis en évidence. |
Fonctionnalité | |
En agrégation, si l'objet propriétaire est détruit, cela n'affectera pas l'objet conteneur. | En composition, si l'objet propriétaire est détruit, cela affectera l'objet conteneur. |
Résumé - Agrégation vs composition
La programmation orientée objet est un paradigme majeur dans le développement de logiciels. En POO, le système est modélisé à l'aide d'objets. Ces objets n'existent pas isolément. Les objets collaborent avec d'autres objets. La relation entre les objets est appelée association. L'agrégation et la composition sont des types d'association. La différence entre l'agrégation et la composition est que l'agrégation est une association entre deux objets qui décrit la relation «a un» et que la composition est le type d'agrégation le plus spécifique qui implique la propriété. L'agrégation et la composition aident toutes deux à comprendre le comportement du système.
Téléchargez la version PDF de Agrégation vs Composition
Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne selon la note de citation. Veuillez télécharger la version PDF ici Différence entre l'agrégation et la composition