Skillnaden mellan aggregation och komposition i Java

Innehållsförteckning:

Skillnaden mellan aggregation och komposition i Java
Skillnaden mellan aggregation och komposition i Java

Video: Skillnaden mellan aggregation och komposition i Java

Video: Skillnaden mellan aggregation och komposition i Java
Video: Ассоциация (HAS-A) Агрегация и композиция в Java [САМЫЙ ЧАСТО ЗАДАВАЕМЫЙ ВОПРОС НА ИНТЕРВЬЮ] 2024, November
Anonim

Key Difference – Aggregation vs Composition in Java

Aggregation är en association mellan två objekt som beskriver "har-ett"-förhållandet. Sammansättningen är den mer specifika typen av aggregering som innebär ägande. Den viktigaste skillnaden 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 existensen 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 att skicka meddelanden. Relationen mellan två objekt är känd som en association. Både aggregering och sammansättning är två typer av association. Relationen "har-ett" beskriver att ett objekt kan använda ett annat objekt. Aggregation och sammansättning kan implementeras i OOP-stödjande språk. Om det inneslutna objektet kan existera utan existensen av det ägande objektet, är associationen mellan dessa två objekt en aggregering. Om det inneslutna objektet inte kan existera utan existensen av det ägande objektet, är associationen mellan dessa två objekt en komposition.

Vad är aggregation i Java?

Aggregation är en typ av förening. Om en klass har en enhetsreferens kallas det aggregering. Aggregation representerar har-en-relationen. Ett Studentobjekt kan ha egenskaper som student_id, namn, adress. Detta objekt kan också ha ett annat objekt som kallas adress med egen information som stad, stat, land. I den här situationen har studenten en enhetsreferensadress. Det är ett "har-ett"-förhållande.

Skillnaden mellan aggregation och komposition i Java
Skillnaden mellan aggregation och komposition i Java

Figur 01: Betygsklass

Skillnaden mellan aggregation och komposition i Java
Skillnaden mellan aggregation och komposition i Java

Figur 02: Huvudprogram för att beskriva aggregation

Enligt ovanstående program består klassen Poäng av tre egenskaper som är Matematik, Engelska och Naturvetenskap. Studenten har ett objekt med poäng. Den har sina egna egenskaper som är kännetecken för matematik, engelska och naturvetenskap. I huvudmetoden skapas ett objekt av märken och märkesvärden tilldelas. Elevobjektet som är s1 kan använda märkesobjektet som är m1. Därför har Student och Marks "har-ett"-förhållandet. Marks-objektet kan existera utan Student Object. Därför är det en aggregering.

Vad är komposition i Java?

Komposition är en typ av association. 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, så är det en sammansättning. 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 programmet nedan.

Skillnaden mellan aggregation och komposition i Java_Figure 03
Skillnaden mellan aggregation och komposition i Java_Figure 03

Figur 03: Klassrumsklass

Skillnaden mellan aggregation och komposition i Java_Figure 04
Skillnaden mellan aggregation och komposition i Java_Figure 04

Figur 04: Skolklass

Nyckelskillnaden mellan aggregation och komposition i Java
Nyckelskillnaden mellan aggregation och komposition i Java

Figur 05: Huvudprogram för att beskriva komposition

Enligt programmet ovan har klassrummet två egenskaper som är namn och antal elever. Skolan är en samling klassrumsobjekt. I huvudmetoden skapas två Classroom-objekt. De läggs till i "klassrum". Dessa "klassrum" skickas till skolobjektet. Slutligen skrivs klassrummets namn och antal elever ut genom att iterera genom samlingen. Om skolobjektet förstörs kommer klassrumsobjekten också att förstöras. Detta är ett exempel på komposition. Den innehåller också "har-ett"-förhållandet och antyder också ägande.

Vilket är förhållandet mellan aggregation och komposition i Java?

Aggregation och komposition är två typer av association och komposition är en specialiserad typ av aggregation. Komposition är en delmängd av aggregation

Vad är skillnaden mellan aggregation och komposition i Java?

Aggregation vs Composition in Java

Aggregation är en association mellan två objekt som beskriver "har ett" förhållande. Komposition är en mer specifik typ av aggregering som innebär ägande.
Användning
Aggregation används när ett objekt använder ett annat objekt. Komposition används när ett objekt äger ett annat objekt.
Påverkan på objekt
I aggregering, kommer förstörelse av det ägande objektet inte att påverka det innehållande objektet. I sammansättningen kommer att förstöra det ägande objektet att påverka det innehållande objektet.

Sammanfattning – Aggregation vs Composition in Java

Aggregation och komposition är två begrepp i OOP. Relationen "har-ett" beskriver att ett objekt kan använda ett annat objekt. Aggregation är en association mellan två objekt som beskriver "har-ett"-förhållandet. Komposition är en mer specifik typ av aggregering som innebär ägande. Skillnaden mellan aggregering och sammansättning 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 existensen av det ägande objektet är det en komposition.

Rekommenderad: