Différence clé - Agrégation vs Composition en Java
L'agrégation est une association entre deux objets qui décrit la relation "a-un". La composition est le type d'agrégation plus spécifique qui implique la propriété. La principale différence entre l'agrégation et la composition en Java est que, si l'objet contenu peut exister sans l'existence de l'objet propriétaire, il s'agit d'une agrégation, et si l'objet contenu ne peut pas exister sans l'existence de l'objet propriétaire, il s'agit d'une composition..
La programmation orientée objet (POO) est un paradigme majeur du développement logiciel. Il est utilisé pour modéliser le logiciel à l'aide d'objets. Les objets sont créés à l'aide de classes. Une classe est composée de propriétés et de méthodes. Il existe plusieurs objets dans le logiciel. Chaque objet collabore les uns avec les autres par la transmission de messages. La relation entre deux objets s'appelle une association. L'agrégation et la composition sont deux types d'association. La relation "a-un" décrit qu'un objet peut utiliser un autre objet. L'agrégation et la composition peuvent être implémentées dans les langages prenant en charge la POO. Si l'objet contenu peut exister sans l'existence de l'objet propriétaire, alors l'association entre ces deux objets est une agrégation. Si l'objet contenu ne peut exister sans l'existence de l'objet propriétaire, alors l'association entre ces deux objets est une composition.
Qu'est-ce que l'agrégation en Java ?
L'agrégation est un type d'association. Si une classe a une référence d'entité, on parle d'agrégation. L'agrégation représente la relation has-a. Un objet Student peut avoir des propriétés telles que student_id, name, address. Cet objet peut également avoir un autre objet appelé adresse avec ses propres informations telles que la ville, l'état, le pays. Dans cette situation, l'Etudiant dispose d'une adresse de référence d'entité. C'est une relation "a-un".
Figure 01: Classe de marques
Figure 02: Programme principal pour décrire l'agrégation
Selon le programme ci-dessus, les notes de classe se composent de trois propriétés qui sont les notes de mathématiques, d'anglais et de sciences. L'étudiant a un objet de marques. Il a ses propres propriétés qui sont des marques de mathématiques, d'anglais et de sciences. Dans la méthode principale, un objet de marques est créé et des valeurs de marques sont attribuées. L'objet étudiant qui est s1 peut utiliser l'objet marques qui est m1. Par conséquent, l'étudiant et les notes ont la relation "a-un". L'objet Marks peut exister sans l'objet Student. C'est donc une agrégation.
Qu'est-ce que la composition en Java ?
La composition est un type d'association. C'est une forme spécifique d'agrégation qui implique la propriété. Supposons qu'il existe deux classes appelées classe A et B. Si l'objet de la classe B ne peut pas exister si l'objet de la classe A est détruit, alors c'est une composition. Un livre est composé de plusieurs pages. Si le livre est détruit, les pages seront également détruites. Les objets page ne peuvent pas exister sans l'objet livre. Reportez-vous au programme ci-dessous.
Figure 03: Classe en classe
Figure 04: Classe d'école
Figure 05: Programme principal pour décrire la composition
Selon le programme ci-dessus, la salle de classe a deux propriétés qui sont name et numOfStudents. The School est une collection d'objets Classroom. Dans la méthode principale, deux objets Classroom sont créés. Ceux-ci sont ajoutés aux «salles de classe». Ces « salles de classe » sont transmises à l'objet école. Enfin, le nom de la classe et le nombre d'étudiants sont imprimés en parcourant la collection. Si l'objet School est détruit, les objets Classroom seront également détruits. Ceci est un exemple de composition. Il contient également la relation "a-un" et implique également la propriété.
Quelle est la relation entre l'agrégation et la composition en Java ?
L'agrégation et la composition sont deux types d'association et la composition est un type spécialisé d'agrégation. La composition est un sous-ensemble de l'agrégation
Quelle est la différence entre l'agrégation et la composition en Java ?
Agrégation vs Composition en Java |
|
L'agrégation est une association entre deux objets qui décrit la relation "a une". | La composition est un type d'agrégation plus spécifique qui implique la propriété. |
Utilisation | |
L'agrégation est utilisée lorsqu'un objet utilise un autre objet. | La composition est utilisée lorsqu'un objet possède un autre objet. |
Affecter les objets | |
En agrégation, la destruction de l'objet propriétaire n'affectera pas l'objet contenant. | Dans la composition, la destruction de l'objet propriétaire affectera l'objet contenant. |
Résumé - Agrégation vs Composition en Java
Agrégation et Composition sont deux concepts en POO. La relation "a-un" décrit qu'un objet peut utiliser un autre objet. L'agrégation est une association entre deux objets qui décrit la relation "a-un". La composition est un type d'agrégation plus spécifique qui implique la propriété. La différence entre l'agrégation et la composition en Java est que, si l'objet contenu peut exister sans l'existence de l'objet propriétaire, il s'agit d'une agrégation et si l'objet contenu ne peut pas exister sans l'existence de l'objet propriétaire, il s'agit d'une composition.