Différence entre agrégation et composition en Java

Différence clé - Agrégation contre Composition en Java

L'agrégation est une association entre deux objets qui décrit la relation «a-a». La composition est le type d'agrégation plus spécifique qui implique la propriété. le différence clé 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, c'est une agrégation, et si l'objet contenu ne peut pas exister sans l'existence de l'objet propriétaire, c'est une composition.

La programmation orientée objet (OOP) 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 lors du passage de messages. La relation entre deux objets s'appelle une association. L'agrégation et la composition sont deux types d'association. La relation "has-a" décrit qu'un objet peut utiliser un autre objet. L'agrégation et la composition peuvent être implémentées dans des langues prenant en charge la POO. Si l'objet contenu peut exister sans l'existence de l'objet propriétaire, l'association entre ces deux objets est une agrégation. Si l'objet contenu ne peut pas exister sans l'existence de l'objet propriétaire, l'association entre ces deux objets est une composition.

CONTENU

1. Vue d'ensemble et différence clé
2. Qu'est-ce que l'agrégation en Java?
3. Qu'est-ce que la composition en Java?
4. Similarités entre agrégation et composition en Java
5. Comparaison côte à côte - Agrégation vs composition en Java sous forme tabulaire
6. Résumé

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 à une entité, cela s'appelle l'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 ou le pays. Dans cette situation, l'étudiant a une adresse de référence d'entité. C'est une relation "a-a".

Figure 01: Classe de marques

Figure 02: Programme principal pour décrire l'agrégation

Selon le programme ci-dessus, la classe Marks se compose de trois propriétés qui sont les marques Maths, English et Science. L'élève 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 repères qui est m1. Par conséquent, l'étudiant et les marques ont la relation «has-a». 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 classes A et B. Si l'objet de la classe B ne peut pas exister si l'objet de la classe A est détruit, il s'agit alors d'une composition. Un livre est composé de plusieurs pages. Si le livre est détruit, les pages seront également détruites. Les objets de page ne peuvent pas exister sans l'objet livre. Voir le 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 classe a deux propriétés qui sont name et numOfStudents. L'école est une collection d'objets de la classe. Dans la méthode principale, deux objets de la classe sont créés. Ceux-ci sont ajoutés aux "salles de classe". Ces "salles de classe" sont transmises à l'objet school. Enfin, le nom et le nombre d'élèves de la classe sont imprimés en parcourant la collection. Si l'objet School est détruit, les objets de la classe seront également détruits. Ceci est un exemple de composition. Il contient également la relation "a-a" et implique également la propriété.

Quelle est la relation entre agrégation et 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 agrégation et 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é.
 Usage
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.
Affect sur les objets
En agrégation, la destruction de l'objet propriétaire n'affectera pas l'objet contenant. En composition, la destruction de l'objet propriétaire aura une incidence sur l'objet contenant.

Résumé - Agrégation contre Composition en Java

L'agrégation et la composition sont deux concepts de la programmation orientée objet. La relation "has-a" 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-a». La composition est un type d'agrégation plus spécifique qui implique la propriété. La différence entre agrégation et 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.

Référence:

1. «Association, composition et agrégation en Java». GeeksforGeeks, 8 février 2018. Disponible ici 
2. “Agrégation en Java - Javatpoint.” Java Point. Disponible ici