Forskel mellem aggregation og sammensætning

Indholdsfortegnelse:

Forskel mellem aggregation og sammensætning
Forskel mellem aggregation og sammensætning

Video: Forskel mellem aggregation og sammensætning

Video: Forskel mellem aggregation og sammensætning
Video: Cheatsheet of Relationships between classes in a minute! UML - Aggregation, Composition and more! 2024, Juli
Anonim

Nøgleforskel – Aggregation vs Composition

Object-Oriented Programming (OOP) er et almindeligt 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 skabe et objekt. Den 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 skabe et objekt. Et objekt samarbejder med andre objekter. Et link med repræsenterer forholdet mellem to eller flere objekter kaldes en "association". Aggregation og sammensætning er typer af associationer. De beskriver forholdet mellem klasser. Denne artikel diskuterer forskellen mellem aggregering og sammensætning. Den vigtigste forskel mellem aggregering og sammensætning er, at aggregering er en association mellem to objekter, der beskriver "har et" forhold, og sammensætning er en mere specifik type aggregering, der indebærer ejerskab.

Hvad er aggregation?

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 knyttet til det enkelte objekt i klasse B, er det en en-til-en-relation. Et eksempel er en forfatter, der skriver en bog. I det 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 association. Et eksempel er, at en medarbejder kan arbejde på flere projekter, og et projekt kan have flere ansatte.

Aggregation er typetilknytning, der yderligere beskriver forholdet mellem objekter. Aggregation beskriver "har et" forhold. Nogle eksempler, der beskriver forholdet, er, at en elev "har et" elev-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" elever. Det kan forklares ved hjælp af nedenstående eksempel.

Forskellen mellem aggregation og sammensætning
Forskellen mellem aggregation og sammensætning

Figur 01: Aggregation

Ifølge ovenstående eksempel består klasseværelset af en elev eller mange elever. Multiplikitet bruges også til at angive antallet af objekter. Den beskriver, at et klasseværelse har flere elever. Diamantens symbol repræsenterer sammenlægningen i UML. Elevobjekter er ikke afhængige af klasseobjektet. Hvis klasseobjektet ødelægges, påvirker det ikke elevobjekterne. Disse objekter vil stadig eksistere.

Hvad er komposition?

Kompositionen er en mere specifik form for aggregering. Den beskriver ejerskabet. Det kan forklares ved hjælp af nedenstående eksempel.

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

Figur 02: Sammensætning

Ifølge ovenstående består bogobjektet af sideobjekt eller sider. Multiplikitet bruges også til at angive antallet af objekter. Den beskriver, at et klasseværelse har flere elever. Symbolet på 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 lighederne mellem aggregation 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 aggregation og sammensætning?

Aggregation vs Composition

Aggregation er en association mellem to objekter, som beskriver "har et" forhold. Sammensætningen er den mest specifikke type aggregering, der indebærer ejerskab.
UML-symbol
Aggregation er angivet med en diamant. Komposition er angivet med en fremhævet diamant.
Functionality
I aggregering, hvis det ejende objekt ødelægges, vil det ikke påvirke det indeholdende objekt. I sammensætningen, hvis det ejerende objekt ødelægges, vil det påvirke det indeholdende objekt.

Opsummering – Aggregation vs Composition

Objektorienteret programmering er et vigtigt paradigme inden for softwareudvikling. I OOP modelleres systemet ved hjælp af objekter. Disse objekter eksisterer ikke isoleret. Objekter samarbejder med andre objekter. Forholdet mellem objekter er kendt som association. Aggregation og sammensætning er foreningstyper. Forskellen mellem aggregering og sammensætning er, at aggregering er en association mellem to objekter, der beskriver "har et" forhold, og sammensætning er den mere specifikke type aggregering, der indebærer ejerskab. Aggregation og sammensætning hjælper begge til at forstå systemets adfærd.

Download PDF-versionen af Aggregation vs Composition

Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål i henhold til citatnotat. Download venligst PDF-version her Forskel mellem aggregation og sammensætning

Anbefalede: