Nyckelskillnad - Aggregering mot komposition i Java
Aggregering är en koppling mellan två objekt som beskriver förhållandet”har-a”. Sammansättningen är den mer specifika typen av aggregering som innebär ägande. Huvudskillnaden mellan aggregering och komposition i Java är att om det inneslutna objektet kan existera utan existensen av det ägande objektet, är det en aggregering, och om det inneslutna objektet inte kan existera utan det existerande av det ägande objektet, är det en komposition.
Objektorienterad programmering (OOP) är ett stort paradigm inom mjukvaruutveckling. Den 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 programvaran. Varje objekt samarbetar med varandra genom meddelandeöverföring. Förhållandet mellan två objekt kallas en association. Både aggregering och sammansättning är två typer av föreningar. Relationen”har-a” beskriver att ett objekt kan använda ett annat objekt. Aggregering och komposition kan implementeras på OOP-stödjande språk. Om det inneslutna objektet kan existera utan existensen av det ägande objektet, är associeringen mellan dessa två objekt en sammanställning. Om det inneslutna objektet inte kan existera utan det ägande objektets existens,då är kopplingen mellan dessa två objekt en komposition.
INNEHÅLL
1. Översikt och nyckelskillnad
2. Vad är aggregering i Java
3. Vad är komposition i Java
4. Likheter mellan aggregering och komposition i Java
5. Jämförelse sida vid sida - Aggregering vs komposition i Java i tabellform
6. Sammanfattning
Vad är aggregering i Java?
Aggregation är en typ av förening. Om en klass har en enhetsreferens kallas den aggregering. Aggregering representerar relationen has-a. Ett studentobjekt kan ha egenskaper som student_id, namn, adress. Detta objekt kan också ha ett annat objekt som heter adress med sin egen information som stad, stat, land. I den här situationen har studenten en enhetsreferensadress. Det är en "har-a" relation.
Figur 01: Markeringsklass
Figur 02: Huvudprogram för att beskriva aggregering
Enligt ovanstående program består klassmärket av tre egenskaper som är matematiska, engelska och naturvetenskapliga betyg. Studenten har ett objekt av märken. Det har sina egna egenskaper som är märken för matte, engelska och naturvetenskap. I huvudmetoden skapas ett objekt av Marks och markeringsvärden tilldelas. Studentobjektet som är s1 kan använda märkeobjektet som är m1. Därför har studenten och märken”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 förening. Det är en specifik form av aggregering som innebär ägande. Antag att det finns två klasser som kallas klass A och B. Om objektet i klass B inte kan existera om objektet i klass A förstörs är det en komposition. En bok består av många sidor. Om boken förstörs kommer sidorna också att förstöras. Sidobjekten kan inte existera utan bokobjektet. Se nedanstående program.
Figur 03: Klassrumsklass
Figur 04: Skolklass
Figur 05: Huvudprogram för beskrivning av komposition
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 antalet elever genom att det går igenom samlingen. Om skolobjektet förstörs förstörs även klassrumsobjekten. Detta är ett exempel på komposition. Den innehåller också 'has-a' -förhållandet och innebär också ägande.
Vad är förhållandet mellan aggregering och komposition i Java?
Aggregation och komposition är två typer av föreningar och komposition är en specialiserad typ av aggregering. Komposition är en delmängd av aggregering
Vad är skillnaden mellan aggregering och komposition i Java?
Skilja artikeln mitt före bordet
Aggregation vs komposition i Java |
|
Aggregering är en koppling mellan två objekt som beskriver”har en” relation. | Sammansättning är en mer specifik typ av aggregering som innebär ägande. |
Användande | |
Aggregering används när ett objekt använder ett annat objekt. | Komposition används när ett objekt äger ett annat objekt. |
Påverka föremål | |
Sammantaget påverkar inte det innehållande objektet att förstöra det ägande objektet. | I komposition påverkar det innehållande objektet att förstöra det ägande objektet. |
Sammanfattning - Aggregation vs komposition i Java
Aggregering och komposition är två begrepp i OOP. Relationen”har-a” beskriver att ett objekt kan använda ett annat objekt. Aggregering är en koppling mellan två objekt som beskriver förhållandet”har-a”. Sammansättning är en mer specifik typ av aggregering som innebär ägande. Skillnaden mellan aggregering och komposition i Java är att om det inneslutna objektet kan existera utan det existerande av det ägande objektet är det en aggregering och om det inneslutna objektet inte kan existera utan det existerande av det ägande objektet är det en komposition.