Différence entre l'agrégation et la composition en Java

Différence entre l'agrégation et la composition en Java

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

L'agrégation est une association entre deux objets qui décrivent la relation «has-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, 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 exister sans l'existence de l'objet propriétaire, c'est une composition.

La programmation orientée objet (OOP) est un paradigme majeur dans le développement de logiciels. Il est utilisé pour modéliser le logiciel à l'aide d'objets. Les objets sont créés à l'aide de classes. Une classe se compose de propriétés et de méthodes. Il y a plusieurs objets dans le logiciel. Chaque objet collabore les uns avec les autres en passant par le message. La relation entre deux objets est connue comme 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 mises en œuvre dans les langues de support OOP. 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.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce que l'agrégation en Java
3. Qu'est-ce que la composition à Java
4. Similitudes entre l'agrégation et la 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 entité, elle est connue sous le nom d'agrégation. L'agrégation représente la relation HAS-A. Un objet étudiant peut avoir des propriétés telles que Student_id, nom, adresse. 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'étudiant a une adresse de référence entité. C'est une relation «has-a».

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 des marques de mathématiques, d'anglais et de sciences. 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 science. Dans la méthode principale, un objet de marques est créé et les valeurs de marques sont attribuées. L'objet étudiant qui est S1 peut utiliser l'objet Marks qui est M1. Par conséquent, l'étudiant et les marques ont la relation «has-a». L'objet Marks peut exister sans l'objet étudiant. Par conséquent, c'est une agrégation.

Qu'est-ce que la composition à 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 se compose de nombreuses pages. Si le livre est détruit, les pages détruiront également. Les objets de page ne peuvent pas exister sans l'objet de livre. Référer le programme ci-dessous.

Figure 03: classe de classe

Figure 04: classe scolaire

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 du nom et des nofstudents. L'école est une collection d'objets de classe. Dans la méthode principale, deux objets de classe sont créés. Ceux-ci sont ajoutés aux «salles de classe». Ces «salles de classe» sont transmises à l'objet de l'école. Enfin, le nom de la classe et le nombre d'élèves sont imprimés en itérant dans la collection. Si l'objet scolaire est détruit, les objets de classe détruiront également. Ceci est un exemple de composition. Il contient également la relation «Has-A» 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 d'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écrivent la relation «Has A». 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.
Affecter les objets
Dans l'agrégation, la destruction de l'objet propriétaire n'affectera pas l'objet contenant. En composition, la destruction de l'objet propriétaire affectera l'objet contenant.

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

L'agrégation et la composition sont deux concepts en OOP. 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écrivent la relation «has-a». 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, c'est une agrégation et si l'objet contenu ne peut exister sans l'existence de l'objet propriétaire, c'est une composition.

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