Forskellen mellem aggregering og komposition i Java

Nøgleforskel - Aggregation vs Sammensætning i Java

Aggregation er en tilknytning mellem to objekter, der beskriver ”have-a” -forholdet. Sammensætningen er den mere specifikke type aggregering, der indebærer ejerskab. Det vigtigste forskel mellem aggregering og komposition i Java er det, hvis det indeholdte objekt kan eksistere uden eksistensen af ​​det ejende objekt, er det en sammenlægning, og hvis det indeholdte objekt ikke kan eksistere uden eksistensen af ​​det ejende objekt, er det en sammensætning.

Objektorienteret programmering (OOP) er et stort paradigme inden for softwareudvikling. Det bruges til at modellere softwaren ved hjælp af objekter. Objekterne oprettes ved hjælp af klasser. En klasse består af egenskaber og metoder. Der er flere objekter i software. Hvert objekt samarbejder med hinanden gennem meddelelsesoverførsel. Forholdet mellem to objekter er kendt som en forening. Både aggregering og sammensætning er to typer tilknytning. Forholdet "har-en" beskriver, at et objekt kan bruge et andet objekt. Aggregering og sammensætning kan implementeres på OOP-understøttende sprog. Hvis det indeholdte objekt kan eksistere uden eksistensen af ​​det ejende objekt, er forbindelsen mellem disse to objekter en sammenlægning. Hvis det indeholdte objekt ikke kan eksistere uden eksistensen af ​​det ejende objekt, er forbindelsen mellem disse to objekter en sammensætning.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er aggregering i Java
3. Hvad er sammensætning i Java
4. Ligheder mellem aggregering og komposition i Java
5. Sammenligning side ved side - Aggregation vs komposition i Java i tabelform
6. Resume

Hvad er aggregering i Java?

Aggregation er en type forening. Hvis en klasse har en enhedsreference, kaldes den aggregering. Aggregering repræsenterer has-a-forholdet. Et Student-objekt kan have egenskaber som student_id, navn, adresse. Dette objekt kan også have et andet objekt kaldet adresse med sine egne oplysninger såsom by, stat, land. I denne situation har den studerende en enhedsreferenceadresse. Det er et "have-a" forhold.

Figur 01: Marks Class

Figur 02: Hovedprogram til beskrivelse af aggregering

I henhold til ovenstående program består klassemærkerne af tre egenskaber, der er matematiske, engelske og videnskabelige karakterer. Studenten har et genstand for Marks. Det har sine egne egenskaber, der er mærker for matematik, engelsk og videnskab. I hovedmetoden oprettes et objekt med markeringer, og der tildeles markeringsværdier. Studentobjektet, der er s1, kan bruge markeringsobjektet, der er m1. Derfor har studerende og varemærker "have-a" -forholdet. Markeringsobjektet kan eksistere uden Studentobjektet. Derfor er det en sammenlægning.

Hvad er sammensætning i Java?

Komposition er en type tilknytning. Det er en bestemt form for aggregering, der indebærer ejerskab. Antag, at der er to klasser, der kaldes klasse A og B. Hvis objektet i klasse B ikke kan eksistere, hvis objektet i klasse A ødelægges, er det en sammensætning. En bog består af mange sider. Hvis bogen er ødelagt, vil siderne også ødelægge. Sideobjekterne kan ikke eksistere uden bogobjektet. Se nedenstående program.

Figur 03: Klasselokale

Figur 04: Skoleklasse

Figur 05: Hovedprogram til beskrivelse af sammensætning

I henhold til ovenstående program har Classroom to egenskaber, der er navn og numOfStudents. Skolen er en samling af klasseværelsesobjekter. I hovedmetoden oprettes to Classroom-objekter. Disse tilføjes til 'klasseværelser'. Disse 'klasseværelser' overføres til skoleobjektet. Endelig udskrives klasselavnet og antallet af studerende ved at itereere gennem samlingen. Hvis Skoleobjektet ødelægges, ødelægger Classroom-objekter også. Dette er et eksempel på sammensætning. Det indeholder også 'have-a'-forholdet og indebærer også ejerskab.

Hvad er forholdet mellem aggregering og komposition i Java?

  • Aggregation og sammensætning er to typer forening og sammensætning er en specialiseret type aggregering. Komposition er en undergruppe af aggregering.

Hvad er forskellen mellem aggregering og komposition i Java?

Aggregation vs komposition i Java

Aggregation er en tilknytning mellem to objekter, der beskriver ”har et” -forhold. Komposition er en mere specifik type aggregering, der indebærer ejerskab.
 Anvendelse
Aggregation bruges, når et objekt bruger et andet objekt. Komposition bruges, når et objekt ejer et andet objekt.
Påvirke på objekter
Samlet set vil ødelæggelse af det ejende objekt ikke påvirke det indeholdende objekt. I sammensætning vil ødelæggelse af det ejende objekt påvirke det indeholdende objekt.

Resume - Aggregation vs Sammensætning i Java

Aggregation og komposition er to koncepter i OOP. Forholdet "har-en" beskriver, at et objekt kan bruge et andet objekt. Aggregation er en tilknytning mellem to objekter, der beskriver ”have-a” -forholdet. Komposition er en mere specifik type aggregering, der indebærer ejerskab. Forskellen mellem aggregering og sammensætning i Java er, at hvis det indeholdte objekt kan eksistere uden eksistensen af ​​det ejende objekt, er det en aggregering, og hvis det indeholdte objekt ikke kan eksistere uden eksistensen af ​​det ejende objekt, er det en sammensætning.

Reference:

1. "Associering, komposition og aggregering i Java." GeeksforGeeks, 8. februar 2018. Findes her 
2. "Aggregation i Java - Javatpoint." Java Point. Tilgængelig her