Forskel mellem aggregation og komposition i Java

Indholdsfortegnelse:

Forskel mellem aggregation og komposition i Java
Forskel mellem aggregation og komposition i Java

Video: Forskel mellem aggregation og komposition i Java

Video: Forskel mellem aggregation og komposition i Java
Video: The Superteam that Broke the Rules and Changed League Forever 2024, Juli
Anonim

Nøgleforskel – Aggregation vs Composition i Java

Aggregation er en association mellem to objekter, der beskriver "har-et"-forholdet. Sammensætningen er den mere specifikke type aggregering, der indebærer ejerskab. Den vigtigste forskel 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 vigtigt 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 association. Både aggregering og sammensætning er to typer foreninger. "har-en"-forholdet beskriver, at et objekt kan bruge et andet objekt. Aggregation og sammensætning kan implementeres i OOP-understøttende sprog. Hvis det indeholdte objekt kan eksistere uden eksistensen af det ejende objekt, så er tilknytningen mellem disse to objekter en aggregering. Hvis det indeholdte objekt ikke kan eksistere uden eksistensen af det ejende objekt, så er associationen mellem disse to objekter en sammensætning.

Hvad er aggregation i Java?

Aggregation er en type forening. Hvis en klasse har en enhedsreference, er det kendt som aggregering. Aggregation repræsenterer har-et forhold. Et Student-objekt kan have egenskaber som elev_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 "har-et"-forhold.

Forskellen mellem aggregation og sammensætning i Java
Forskellen mellem aggregation og sammensætning i Java

Figur 01: Karakterklasse

Forskellen mellem aggregation og sammensætning i Java
Forskellen mellem aggregation og sammensætning i Java

Figur 02: Hovedprogram til beskrivelse af aggregation

Ifølge ovenstående program består klassekaraktererne af tre egenskaber, der er matematik-, engelsk- og naturvidenskabskarakterer. Eleven har en genstand med karakterer. Det har sine egne egenskaber, der er mærker af matematik, engelsk og naturvidenskab. I hovedmetoden oprettes et objekt af mærker, og der tildeles mærkeværdier. Elevobjektet der er s1 kan bruge mærkeobjektet som er m1. Derfor har Eleven og Marks "har-et"-forholdet. Marks-objektet kan eksistere uden Elev-objektet. Derfor er det en sammenlægning.

Hvad er komposition i Java?

Komposition er en type association. Det er en specifik form for aggregering, 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 er ødelagt, så er det en sammensætning. En bog består af mange sider. Hvis bogen bliver ødelagt, vil siderne også ødelægge. Sideobjekterne kan ikke eksistere uden bogobjektet. Se nedenstående program.

Forskellen mellem aggregation og sammensætning i Java_Figur 03
Forskellen mellem aggregation og sammensætning i Java_Figur 03

Figur 03: Klasseklasse

Forskellen mellem aggregation og sammensætning i Java_Figur 04
Forskellen mellem aggregation og sammensætning i Java_Figur 04

Figur 04: Skoleklasse

Nøgleforskel mellem aggregation og sammensætning i Java
Nøgleforskel mellem aggregation og sammensætning i Java

Figur 05: Hovedprogram til at beskrive komposition

I henhold til ovenstående program har klasseværelset to egenskaber, der er navn og antal elever. Skolen er en samling af klasseværelsesgenstande. I hovedmetoden oprettes to Classroom-objekter. De føjes til 'klasseværelser'. Disse 'klasselokaler' videregives til skolens objekt. Til sidst udskrives klasseværelsets navn og antal elever ved at gentage samlingen. Hvis skoleobjektet ødelægges, vil klasseværelsets objekter også ødelægge. Dette er et eksempel på komposition. Den indeholder også "har-et"-forholdet og indebærer også ejerskab.

Hvad er forholdet mellem aggregation og komposition i Java?

Aggregation og komposition er to typer foreninger, og komposition er en specialiseret type aggregation. Komposition er en delmængde af aggregation

Hvad er forskellen mellem aggregation og komposition i Java?

Aggregation vs Composition in Java

Aggregation er en association mellem to objekter, der beskriver "har et" forhold. Komposition er en mere specifik type aggregering, der indebærer ejerskab.
Brug
Aggregation bruges, når et objekt bruger et andet objekt. Komposition bruges, når et objekt ejer et andet objekt.
påvirkning på objekter
I aggregering vil ødelæggelse af det ejende objekt ikke påvirke det indeholdende objekt. I sammensætningen vil ødelæggelse af det ejende objekt påvirke det indeholdende objekt.

Opsummering – Aggregation vs Composition i Java

Aggregation og Composition er to begreber i OOP. "har-en"-forholdet beskriver, at et objekt kan bruge et andet objekt. Aggregation er en sammenhæng mellem to objekter, der beskriver "har-et"-forholdet. Sammensætning er en mere specifik type aggregering, der indebærer ejerskab. Forskellen 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 komposition.

Anbefalede: