Nyckelskillnad - Aggregering vs komposition
Objektorienterad programmering (OOP) är ett vanligt paradigm inom mjukvaruutveckling. Objektet är en instans av en klass. Det är inte möjligt att skapa objekt på en gång. Det bör finnas en ritning eller en beskrivning för att skapa ett objekt. Den planen är känd som en klass. En klass innehåller egenskaper och metoder. Objekt skapas med hjälp av klasser. Klass och objekt liknar en plan och ett hus i den verkliga världen. Det är inte möjligt att bygga ett hus utan en ordentlig plan. På samma sätt används en klass för att skapa ett objekt. Ett objekt samarbetar med andra objekt. En länk med representerar förhållandet mellan två eller flera objekt kallas som en”association”. Aggregering och sammansättning är typer av föreningar. De beskriver förhållandet mellan klasser. Denna artikel diskuterar skillnaden mellan aggregering och komposition. Huvudskillnaden mellan aggregering och komposition är att aggregering är en koppling mellan två objekt som beskriver”har en” relation och komposition är en mer specifik typ av aggregering som innebär ägande.
INNEHÅLL
1. Översikt och nyckeldifferens
2. Vad är aggregering
3. Vad är sammansättning
4. Likheter mellan aggregering och komposition
5. Jämförelse sida vid sida - Aggregering vs komposition i tabellform
6. Sammanfattning
Vad är aggregering?
En relation mellan två objekt visas genom att rita en linje i Unified Modeling Language (UML). Länken är en förening. UML hjälper till att få en visuell representation av systemet. Det skiljer sig från vanliga programmeringsspråk. Association definierar också mångfalden av objekt. De är en-till-en, en-till-många och många-till-många. När ett enda objekt i klass A är associerat med det enda objektet i klass B är det en en-till-en-relation. Ett exempel är en författare som skriver en bok. I det exemplet skriver en författare en bok.
När ett objekt i klass A är associerat med många objekt i klass B är det ett förhållande mellan många. Ett exempel är att en avdelning kan ha många anställda. När objektet i klass A är associerat med många objekt i klass B och ett objekt i klass B är associerat med många objekt i klass A, är det en många-till-många-association. Ett exempel är att en anställd kan arbeta med flera projekt och ett projekt kan ha flera anställda.
Aggregering är typassociation som ytterligare beskriver förhållandet mellan objekt. Aggregation beskriver”har en” relation. Några exempel som beskriver förhållandet är att en student "har en" student-id, ett fordon "har en" motor. Det är också möjligt att utöka en stor mängd med förhållandet. Några exempel är att en bank "har många" bankkonton, en klass "har många" studenter. Det kan förklaras med hjälp av exemplet nedan.
Figur 01: Aggregering
Enligt exemplet ovan består klassrummet av en student eller många elever. Multiplicitet används också för att ange antalet objekt. Den beskriver att ett klassrum har flera elever. Diamantens symbol representerar aggregeringen i UML. Studentobjekt förlitar sig inte på klassobjektet. Om klassobjektet förstörs påverkar det inte studentobjekten. Dessa objekt kommer fortfarande att finnas.
Vad är komposition?
Kompositionen är en mer specifik form av aggregering. Det beskriver ägarskapet. Det kan förklaras med hjälp av nedanstående exempel.
Figur 02: Sammansättning
Enligt ovanstående består bokobjektet av sidobjekt eller sidor. Multiplicitet används också för att ange antalet objekt. Den beskriver att ett klassrum har flera elever. Symbolen för diamant som är markerad representerar kompositionen i UML. Eftersom boken har en sida eller många sidor är den en sammanställning, men den är mer specificerad. Om bokobjektet förstörs, förstörs även sidobjekten. Sidobjekt kan inte existera utan bokobjektet. Därför är kompositionen en mer specifik form av en aggregering som innebär ägande.
Vad är likheterna mellan aggregering och komposition?
- Båda används i objektorienterad programmering.
- Båda används i Unified Modeling Language (UML) för att få en visuell förståelse för systemet.
Vad är skillnaden mellan aggregering och komposition?
Skilja artikeln mitt före bordet
Aggregering vs komposition |
|
Aggregering är en koppling mellan två objekt som beskriver”har en” relation. | Sammansättningen är den mest specifika typen av aggregering som innebär ägande. |
UML-symbol | |
Aggregering betecknas med en diamant. | Sammansättning betecknas med en markerad diamant. |
Funktionalitet | |
Sammantaget, om det ägande objektet förstörs, påverkar det inte det innehållande objektet. | I sammansättning, om det ägande objektet förstörs, kommer det att påverka det innehållande objektet. |
Sammanfattning - Aggregation vs komposition
Objektorienterad programmering är ett stort paradigm inom mjukvaruutveckling. I OOP modelleras systemet med hjälp av objekt. Dessa objekt existerar inte isolerat. Objekt samarbetar med andra objekt. Förhållandet mellan objekt kallas association. Aggregering och sammansättning är typer av föreningar. Skillnaden mellan aggregering och komposition är att aggregering är en koppling mellan två objekt som beskriver”har en” relation och komposition är den mer specifika typen av aggregering som innebär ägande. Aggregering och sammansättning hjälper båda till att förstå systemets beteende.
Ladda ner PDF-versionen av Aggregation vs Composition
Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-version här Skillnaden mellan aggregering och komposition