Nøgleforskel - Aggregering vs sammensætning i Java
Aggregering er en sammenhæng mellem to objekter, der beskriver “has-a” -forholdet. Sammensætningen er den mere specifikke type aggregering, der indebærer ejerskab. Hovedforskellen mellem aggregering og komposition 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.
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 softwaren. Hvert objekt samarbejder med hinanden gennem meddelelsesoverførsel. Forholdet mellem to objekter er kendt som en tilknytning. Både aggregering og sammensætning er to typer tilknytning. Forholdet "has-a" 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, så er associeringen mellem disse to objekter en sammenlægning. Hvis det indeholdte objekt ikke kan eksistere uden eksistensen af det ejende objekt,så 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 sammensætning i Java
5. Sammenligning side om side - Aggregering vs sammensætning i Java i tabelform
6. Resumé
Hvad er aggregering i Java?
Aggregation er en type tilknytning. Hvis en klasse har en enhedsreference, kaldes den aggregering. Aggregation repræsenterer forholdet mellem has og forhold. Et elevobjekt kan have egenskaber som student_id, navn, adresse. Dette objekt kan også have et andet objekt kaldet adresse med sine egne oplysninger som by, stat, land. I denne situation har den studerende en enhedsreferenceadresse. Det er et”has-a” forhold.
Figur 01: Karakterklasse
Figur 02: Hovedprogram til beskrivelse af aggregering
I henhold til ovenstående program består klassemærket af tre egenskaber, der er matematik-, engelsk- og videnskabsmærker. Studenten har et objekt med Marks. Det har sine egne egenskaber, der er tegn på matematik, engelsk og naturvidenskab. I hovedmetoden oprettes et objekt af Marks, og markeringsværdier tildeles. Studenterobjektet, der er s1, kan bruge mærkeobjektet, som er m1. Derfor har studerende og mærker “has-a” -forholdet. Marks-objektet kan eksistere uden Student Object. Derfor er det en sammenlægning.
Hvad er komposition i Java?
Komposition er en form for tilknytning. Det er en bestemt form for sammenlægning, der indebærer ejerskab. Antag, at der er to klasser kaldet 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 ødelægges, ødelægges siderne også. Sideobjekterne kan ikke eksistere uden bogobjektet. Se nedenstående program.
Figur 03: Klasseklasse
Figur 04: Skoleklasse
Figur 05: Hovedprogram til beskrivelse af sammensætning
I henhold til ovenstående program har klasselokalet to egenskaber, der er navn og numOfStudents. Skolen er en samling af klasselokaleobjekter. I hovedmetoden oprettes to Classroom-objekter. Disse føjes til 'klasseværelser'. Disse 'klasseværelser' sendes til skoleobjektet. Endelig udskrives klasseværelset og antallet af studerende ved at gentage det gennem samlingen. Hvis skoleobjektet ødelægges, ødelægges også klasseværelset. Dette er et eksempel på sammensætning. Det indeholder også 'has-a' forholdet og indebærer også ejerskab.
Hvad er forholdet mellem aggregering og sammensætning i Java?
Aggregering og sammensætning er to typer foreninger, og sammensætning er en specialiseret type aggregering. Komposition er en delmængde af Aggregation
Hvad er forskellen mellem aggregering og sammensætning i Java?
Diff artikel midt foran bordet
Aggregering vs sammensætning i Java |
|
Aggregation er en sammenhæng mellem to objekter, der beskriver forholdet "har en". | Komposition er en mere specifik type sammenlægning, der indebærer ejerskab. |
Anvendelse | |
Aggregering bruges, når et objekt bruger et andet objekt. | Sammensætning bruges, når et objekt ejer et andet objekt. |
Påvirker objekter | |
Tilsammen vil ødelæggelse af det ejende objekt ikke påvirke det indeholdende objekt. | I komposition vil ødelæggelse af det ejende objekt påvirke det indeholdende objekt. |
Resumé - Aggregering vs sammensætning i Java
Aggregering og komposition er to begreber i OOP. Forholdet "has-a" beskriver, at et objekt kan bruge et andet objekt. Aggregering er en sammenhæng mellem to objekter, der beskriver “has-a” -forholdet. Komposition er en mere specifik type sammenlægning, 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 sammenlægning, og hvis det indeholdte objekt ikke kan eksistere uden eksistensen af det ejende objekt, er det en sammensætning.