Nøkkelforskjell - Aggregering mot sammensetning i Java
Aggregering er en sammenheng mellom to objekter som beskriver forholdet "har-a". Sammensetningen er den mer spesifikke typen aggregering som innebærer eierskap. Hovedforskjellen mellom aggregering og komposisjon i Java er at hvis det inneholdte objektet kan eksistere uten eksistensen av det eierobjektet, er det en aggregering, og hvis det inneholdte objektet ikke kan eksistere uten eksistensen av det eierobjektet, er det en sammensetning.
Objektorientert programmering (OOP) er et stort paradigme innen programvareutvikling. Den brukes til å modellere programvaren ved hjelp av objekter. Objektene er opprettet ved hjelp av klasser. En klasse består av egenskaper og metoder. Det er flere objekter i programvaren. Hvert objekt samarbeider med hverandre gjennom meldingsoverføring. Forholdet mellom to objekter er kjent som en assosiasjon. Både aggregering og sammensetning er to typer tilknytning. Forholdet "has-a" beskriver at ett objekt kan bruke et annet objekt. Aggregering og sammensetning kan implementeres på OOP-støttende språk. Hvis det inneholdte objektet kan eksistere uten at det eier objektet, er assosiasjonen mellom disse to objektene en aggregering. Hvis det inneholdte objektet ikke kan eksistere uten at det eksisterer et eierobjekt,så er assosiasjonen mellom disse to objektene en komposisjon.
INNHOLD
1. Oversikt og nøkkelforskjell
2. Hva er aggregering i Java
3. Hva er sammensetning i Java
4. Likheter mellom aggregering og sammensetning i Java
5. Sammenligning side om side - Aggregering vs sammensetning i Java i tabellform
6. Oppsummering
Hva er Aggregation i Java?
Aggregering er en type tilknytning. Hvis en klasse har en enhetsreferanse, er den kjent som aggregering. Aggregering representerer relasjonen has-a. Et studentobjekt kan ha egenskaper som student_id, navn, adresse. Dette objektet kan også ha et annet objekt kalt adresse med sin egen informasjon som by, stat, land. I denne situasjonen har studenten en enhetsreferanseadresse. Det er et "has-a" forhold.
Figur 01: Merkeklasse
Figur 02: Hovedprogram for å beskrive aggregering
I henhold til det ovennevnte programmet består klassen Marks av tre egenskaper som er matematikk, engelsk og naturfag. Studenten har et objekt fra Marks. Den har sine egne egenskaper som er tegn på matte, engelsk og naturfag. I hovedmetoden opprettes et objekt av Marks og verdier tildeles merker. Studentobjektet som er s1 kan bruke merkeobjektet som er m1. Derfor har studenten og merkene "has-a" -forholdet. Marks-objektet kan eksistere uten studentobjektet. Derfor er det en aggregering.
Hva er komposisjon i Java?
Komposisjon er en type assosiasjon. Det er en spesifikk form for aggregering som innebærer eierskap. Anta at det er to klasser kalt klasse A og B. Hvis objektet i klasse B ikke kan eksistere hvis objektet i klasse A blir ødelagt, så er det en sammensetning. En bok består av mange sider. Hvis boka blir ødelagt, vil sidene også ødelegge. Sideobjektene kan ikke eksistere uten bokobjektet. Se programmet nedenfor.
Figur 03: Klasseromsklasse
Figur 04: Skoleklasse
Figur 05: Hovedprogram for å beskrive komposisjon
I følge programmet ovenfor har klasserommet to egenskaper som er navn og numOfStudents. Skolen er en samling av Classroom-objekter. I hovedmetoden opprettes to Classroom-objekter. Disse blir lagt til 'klasserom'. Disse 'klasserommene' sendes til skoleobjektet. Til slutt blir klasseromsnavnet og antall studenter skrevet ut ved å gjenta det gjennom samlingen. Hvis skoleobjektet blir ødelagt, vil objektene i klasserommet også ødelegge. Dette er et eksempel på komposisjon. Den inneholder også 'has-a' forholdet og innebærer også eierskap.
Hva er forholdet mellom aggregering og sammensetning i Java?
Aggregasjon og sammensetning er to typer foreninger og sammensetning er en spesialisert type aggregering. Komposisjon er en delmengde av Aggregering
Hva er forskjellen mellom aggregering og komposisjon i Java?
Diff Article Midt før tabell
Aggregering vs sammensetning i Java |
|
Aggregering er en sammenheng mellom to objekter som beskriver forholdet "har en". | Komposisjon er en mer spesifikk type aggregering som innebærer eierskap. |
Bruk | |
Aggregering brukes når ett objekt bruker et annet objekt. | Komposisjon brukes når ett objekt eier et annet objekt. |
Påvirke objekter | |
Til sammen vil ikke ødeleggelse av det eierobjektet påvirke objektet som inneholder. | I sammensetning vil ødeleggelse av eierobjektet påvirke objektet som inneholder. |
Sammendrag - Aggregering mot komposisjon i Java
Aggregering og komposisjon er to begreper i OOP. Forholdet "has-a" beskriver at ett objekt kan bruke et annet objekt. Aggregering er en sammenheng mellom to objekter som beskriver forholdet "har-a". Komposisjon er en mer spesifikk type aggregering som innebærer eierskap. Forskjellen mellom aggregering og sammensetning i Java er at hvis det inneholdte objektet kan eksistere uten det eksiterende objektet, er det en aggregering, og hvis det inneholdte objektet ikke kan eksistere uten det eksiterende objektet, er det en sammensetning.