Nøgleforskel - Aggregering vs sammensætning
Objektorienteret programmering (OOP) er et fælles paradigme inden for softwareudvikling. Objektet er en forekomst af en klasse. Det er ikke muligt at oprette objekter på én gang. Der skal være en plan eller en beskrivelse for at oprette et objekt. Denne plan er kendt som en klasse. En klasse indeholder egenskaber og metoder. Objekter oprettes ved hjælp af klasser. Klasse og objekt ligner en plan og et hus i den virkelige verden. Det er ikke muligt at bygge et hus uden en ordentlig plan. Ligeledes bruges en klasse til at oprette et objekt. Et objekt samarbejder med andre objekter. Et link med repræsenterer forholdet mellem to eller flere objekter kaldes som en "tilknytning". Aggregering og sammensætning er typer af foreninger. De beskriver forholdet mellem klasser. Denne artikel diskuterer forskellen mellem aggregering og sammensætning. Hovedforskellen mellem aggregering og sammensætning er, at aggregering er en sammenhæng mellem to objekter, der beskriver forholdet "har en", og sammensætning er en mere specifik type aggregering, der indebærer ejerskab.
INDHOLD
1. Oversigt og nøgleforskel
2. Hvad er sammenlægning
3. Hvad er sammensætning
4. Ligheder mellem sammenlægning og sammensætning
5. Sammenligning side om side - Sammenlægning vs sammensætning i tabelform
6. Resumé
Hvad er aggregering?
Et forhold mellem to objekter vises ved at tegne en linje i Unified Modeling Language (UML). Linket er en forening. UML hjælper med at få en visuel repræsentation af systemet. Det er anderledes end almindelige programmeringssprog. Association definerer også mangfoldigheden af objekter. De er en-til-en, en-til-mange og mange-til-mange. Når et enkelt objekt i klasse A er forbundet med det enkelte objekt i klasse B, er det et en-til-et forhold. Et eksempel er en forfatter, der skriver en bog. I dette eksempel skriver en forfatter en bog.
Når et objekt i klasse A er forbundet med mange objekter i klasse B, er det et en-til-mange forhold. Et eksempel er, at en afdeling kan have mange ansatte. Når objektet i klasse A er forbundet med mange objekter i klasse B, og et objekt i klasse B er forbundet med mange objekter i klasse A, er det en mange-til-mange-tilknytning. Et eksempel er, at en medarbejder kan arbejde på flere projekter, og et projekt kan have flere medarbejdere.
Aggregation er typeforening, der yderligere beskriver forholdet mellem objekter. Aggregation beskriver “har et” forhold. Nogle eksempler, der beskriver forholdet, er, at en studerende "har en" student-id, et køretøj "har en" motor. Det er også muligt at udvide en stor mængde med forholdet. Nogle eksempler er, at en bank “har mange” bankkonti, en klasse “har mange” studerende. Det kan forklares ved hjælp af nedenstående eksempel.
Figur 01: Aggregering
I henhold til ovenstående eksempel består klasselokalet af en studerende eller mange studerende. Multiplicity bruges også til at angive antallet af objekter. Det beskriver, at et klasseværelse har flere studerende. Diamantens symbol repræsenterer aggregeringen i UML. Studenterobjekter stoler ikke på klasseobjektet. Hvis klasseobjektet ødelægges, påvirker det ikke elevobjekterne. Disse objekter vil stadig eksistere.
Hvad er sammensætning?
Sammensætningen er en mere specifik form for sammenlægning. Det beskriver ejerskabet. Det kan forklares ved hjælp af nedenstående eksempel.
Figur 02: Sammensætning
I henhold til ovenstående består bogobjektet af sideobjekt eller sider. Multiplicity bruges også til at angive antallet af objekter. Det beskriver, at et klasseværelse har flere studerende. Symbolet for diamant, der er fremhævet, repræsenterer sammensætningen i UML. Da bogen har en side eller mange sider, er den en sammenlægning, men den er mere specificeret. Hvis bogobjektet ødelægges, bliver sideobjekterne også ødelagt. Sideobjekter kan ikke eksistere uden bogobjektet. Derfor er sammensætningen en mere specifik form for en sammenlægning, der indebærer ejerskab.
Hvad er ligheden mellem aggregering og sammensætning?
- Begge bruges i objektorienteret programmering.
- Begge bruges i Unified Modeling Language (UML) for at få en visuel forståelse af systemet.
Hvad er forskellen mellem aggregering og sammensætning?
Diff artikel midt foran bordet
Aggregering vs sammensætning |
|
Aggregering er en sammenhæng mellem to objekter, der beskriver forholdet "har en". | Sammensætningen er den mest specifikke type sammenlægning, der indebærer ejerskab. |
UML-symbol | |
Aggregation betegnes med en diamant. | Komposition er betegnet med en fremhævet diamant. |
Funktionalitet | |
Hvis det ejende objekt ødelægges samlet, vil det ikke påvirke det indeholdende objekt. | I sammensætning, hvis det ejende objekt ødelægges, vil det påvirke det indeholdende objekt. |
Resumé - Aggregering vs sammensætning
Objektorienteret programmering er et stort paradigme inden for softwareudvikling. I OOP modelleres systemet ved hjælp af objekter. Disse objekter findes ikke isoleret. Objekter samarbejder med andre objekter. Forholdet mellem objekter er kendt som tilknytning. Aggregering og sammensætning er typer af tilknytning. Forskellen mellem aggregering og sammensætning er, at aggregering er en sammenhæng mellem to objekter, der beskriver”har en” relation, og sammensætning er den mere specifikke type aggregering, der indebærer ejerskab. Aggregering og sammensætning hjælper begge med at forstå systemets opførsel.
Download PDF-versionen af Aggregation vs Composition
Du kan downloade PDF-version af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-version her Forskellen mellem aggregering og komposition