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 sous le nom de 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 » et que la composition est un type d'agrégation plus spécifique qui implique la propriété.
Qu'est-ce que l'agrégation ?
Une relation entre deux objets est indiquée en traçant une ligne dans le langage UML (Unified Modeling Language). Le lien est une association. UML aide à obtenir une représentation visuelle du système. C'est différent des langages de programmation habituels. L'association définit aussi la multiplicité des objets. Ils sont un à un, un à plusieurs et plusieurs à plusieurs. Lorsqu'un objet unique de classe A est associé à l'objet unique de classe B, il s'agit d'une relation un-à-un. Un exemple est un auteur écrivant un livre. Dans cet exemple, un auteur écrit un livre.
Lorsqu'un objet de classe A est associé à plusieurs objets de classe B, il s'agit d'une relation un-à-plusieurs. Par exemple, un département peut avoir de nombreux employés. Lorsque l'objet de classe A est associé à plusieurs objets de classe B et qu'un objet de classe B est associé à plusieurs 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 la relation "a une". Quelques exemples qui décrivent la relation sont, un étudiant "a une" carte d'étudiant, un véhicule "a un" moteur. Il est également possible d'élargir une grande quantité avec la relation. Quelques exemples sont, une banque "a beaucoup" de 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 classe se compose d'un étudiant ou de plusieurs étudiants. La multiplicité est également utilisée pour indiquer le nombre d'objets. Il décrit qu'une classe a plusieurs élèves. Le symbole du losange représente l'agrégation en UML. Les objets étudiant ne dépendent pas de l'objet classe. Si l'objet de la classe est détruit, cela n'affectera pas les objets de l'élève. 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 se compose 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 a plusieurs élèves. Le symbole du losange en surbrillance représente la composition en UML. Comme le livre a une page ou plusieurs pages, c'est une agrégation, mais c'est plus précisé. 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 le langage de modélisation unifié (UML) pour obtenir une compréhension visuelle du système.
Quelle est la différence entre l'agrégation et la composition ?
Agrégation vs Composition |
|
L'agrégation est une association entre deux objets qui décrit la relation "a une". | La composition est le type d'agrégation le plus spécifique qui implique la propriété. |
Symbole UML | |
L'agrégation est indiquée par un losange. | La composition est indiquée par un losange en surbrillance. |
Fonctionnalité | |
En agrégation, si l'objet propriétaire est détruit, cela n'affectera pas l'objet contenant. | Dans la composition, si l'objet propriétaire est détruit, cela affectera l'objet contenant. |
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 connue sous le nom d'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 la composition est le type d'agrégation 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écharger 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 conformément à la note de citation. Veuillez télécharger la version PDF ici Différence entre l'agrégation et la composition