Skillnad mellan aggregering och komposition i Java

Huvudskillnad - Aggregation mot Komposition i Java

Aggregation är en koppling mellan två objekt som beskriver förhållandet "has-a". Sammansättningen är den mer specifika typen av aggregering som innebär ägande. De nyckelskillnad mellan aggregering och komposition i Java är det, om det inneboende föremålet kan existera utan att det äger objektet, är det en aggregering, och om det inneboende objektet inte kan existera utan att ägandeobjektet existerar är det en komposition.

Objektorienterad programmering (OOP) är ett viktigt paradigm inom mjukvaruutveckling. Det används för att modellera programvaran med hjälp av objekt. Objekten skapas med hjälp av klasser. En klass består av egenskaper och metoder. Det finns flera objekt i programvara. Varje objekt samverkar med varandra genom meddelandet som passerar. Förhållandet mellan två objekt är känt som en förening. Både aggregering och sammansättning är två typer av association. Relationen "har-a" beskriver att ett objekt kan använda ett annat objekt. Sammanslagning och sammansättning kan implementeras i OOP-stödjande språk. Om det inneboende objektet kan existera utan att det äger objektet, är föreningen mellan dessa två objekt en aggregering. Om det inneboende objektet inte kan existera utan att det äger objektet, är föreningen mellan de två objekten en komposition.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är Aggregation i Java
3. Vad är komposition i Java
4. Likheter mellan aggregering och komposition i Java
5. Jämförelse vid sida vid sida - Aggregation vs Composition i Java i tabellform
6. Sammanfattning

Vad är Aggregation i Java?

Sammanslagning är en typ av förening. Om en klass har en företagsreferens är den känd som aggregering. Aggregation representerar har-ett förhållande. Ett studentobjekt kan ha egenskaper som student_id, namn, adress. Detta objekt kan också ha ett annat objekt som heter adress med egen information som stad, stat, land. I den här situationen har studenten en företagsreferensadress. Det är ett "has-a" -förhållande.

Figur 01: Marks Class

Figur 02: Huvudprogrammet för att beskriva Aggregation

Enligt ovanstående program består klassmärket av tre egenskaper som är matematik, engelska och vetenskapsmärken. Studenten har ett föremål för Marks. Den har egna egenskaper som är tecken på matematik, engelska och vetenskap. I huvudmetoden skapas ett objekt av Marks och värdena tilldelas värden. Studentobjektet som är s1 kan använda markörobjektet som är m1. Därför har Student och Marks "has-a" -förhållandet. Marks-objektet kan existera utan studentobjektet. Därför är det en aggregering.

Vad är komposition i Java?

Sammansättning är en typ av association. Det är en specifik aggregeringsform som innebär ägande. Antag att det finns två klasser som kallas klass A och B. Om objektet till klass B inte kan existera om objektet till klass A förstörs, så är det en komposition. En bok består av många sidor. Om boken förstörs, kommer sidorna också att förstöra. Sidobjekten kan inte existera utan bokobjektet. Se nedan programmet.

Figur 03: Klassrumsklass

Figur 04: Skolklass

Figur 05: Huvudprogrammet för att beskriva kompositionen

Enligt ovanstående program har klassrummet två egenskaper som är namn och numOfStudents. Skolan är en samling klassrumsobjekt. I huvudmetoden skapas två klassrumsobjekt. De läggs till i "klassrum". Dessa "klassrum" skickas till skolobjektet. Slutligen skrivs klassrumsnamnet och numret av eleverna genom att iterera genom samlingen. Om skolobjektet förstörs kommer klassrumsobjekten att förstöra. Detta är ett exempel på komposition. Det innehåller också "has-a" -förhållandet och innebär också ägande.

Vad är förhållandet mellan aggregering och komposition i Java?

  • Sammanslagning och sammansättning är två typer av association och sammansättning är en specialiserad typ av aggregering. Sammansättning är en delmängd av aggregering.

Vad är skillnaden mellan aggregering och komposition i Java?

Aggregation vs Composition i Java

Aggregation är en koppling mellan två objekt som beskriver förhållandet "har ett". Sammansättning är en mer specifik typ av aggregering som innebär ägande.
 Användande
Aggregation används när ett objekt använder ett annat objekt. Sammansättning används när ett objekt äger ett annat objekt.
Påverka objekt
Sammanfattningsvis påverkar ej ägandeobjektet det innehåll som innehas. I sammansättning kommer förstörelse av ägandeobjektet att påverka det inneboende objektet.

Sammanfattning - Aggregation mot Komposition i Java

Sammanslagning och sammansättning är två begrepp i OOP. Relationen "har-a" beskriver att ett objekt kan använda ett annat objekt. Aggregation är en koppling mellan två objekt som beskriver förhållandet "has-a". Sammansättning är en mer specifik typ av aggregering som innebär ägande. Skillnaden mellan aggregering och sammansättning i Java är att om det inneboende objektet kan existera utan att det äger objektet är det en aggregering och om det inneboende objektet inte kan existera utan att det äger objektet är det en komposition.

Referens:

1. "Förening, sammansättning och aggregering i Java." GeeksforGeeks, 8 februari 2018. Tillgänglig här 
2. "Aggregation i Java - Javatpoint." Java Point. Tillgänglig här