Objektorienterad programmering (OOP) är ett gemensamt paradigm inom mjukvaruutveckling. Objektet är en förekomst av en klass. Det är inte möjligt att skapa objekt samtidigt. Det ska 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 riktig 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". Sammanslagning och sammansättning är typer av föreningar. De beskriver förhållandet mellan klasserna. I denna artikel diskuteras skillnaden mellan aggregering och sammansättning. De nyckelskillnad mellan aggregering och komposition är det aggregering är en koppling mellan två objekt som beskriver "har ett" förhållande och komposition är en mer specifik typ av aggregering som innebär ägande.
1. Översikt och nyckelskillnad
2. Vad är Aggregation
3. Vad är komposition
4. Likheter mellan aggregering och sammansättning
5. Jämförelse vid sida vid sida - Aggregation vs komposition i tabellform
6. Sammanfattning
Ett förhållande mellan två objekt visas genom att dra en rad i Unified Modeling Language (UML). Länken är en förening. UML hjälper till att få en visuell representation av systemet. Det är annorlunda än vanliga programmeringsspråk. Föreningen 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 enskilda objektet i klass B, är det ett ett-till-ett-förhållande. Ett exempel är en författare som skriver en bok. I det exemplet skriver en författare en bok.
När ett objekt av klass A är associerat med många objekt i klass B är det ett till många förhållande. 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 av klass B är förknippat med många objekt i klass A är det en många till många associationer. Ett exempel är att en anställd kan arbeta på flera projekt och ett projekt kan ha flera anställda.
Aggregation är typförening som ytterligare beskriver förhållandet mellan objekt. Aggregation beskriver "har ett" förhållande. Några exempel som beskriver förhållandet är att en student "har ett" student-id, ett fordon "har en" motor ". Det är också möjligt att expandera en stor mängd med förhållandet. Några exempel är, en bank "har många" bankkonton, en klass "har många" studenter. Det kan förklaras med hjälp av nedanstående exempel.
Figur 01: Aggregation
Enligt ovanstående exempel består klassrummet av en student eller många studenter. Multiplicitet används också för att ange antalet objekt. Det beskriver att ett klassrum har flera studenter. Symbolen för diamanten representerar aggregeringen i UML. Studentobjekt är inte beroende av klassobjektet. Om klassobjektet förstörs påverkar det inte studentobjekten. Dessa objekt kommer fortfarande att finnas.
Kompositionen är en mer specifik aggregeringsform. Det beskriver ägandet. 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. Det beskriver att ett klassrum har flera studenter. Symbolen för diamant som är markerad representerar kompositionen i UML. Eftersom boken har en sida eller många sidor är det en aggregering, men det är mer specificerat. Om bokobjektet förstörs, blir sidobjekten också förstörda. Sidobjekt kan inte existera utan bokobjektet. Därför är kompositionen en mer specifik form av en aggregering som innebär ägande.
Aggregation vs Composition | |
Aggregation är en koppling mellan två objekt som beskriver förhållandet "har ett". | Sammansättningen är den mest specifika typen av aggregering som innebär ägande. |
UML-symbol | |
Aggregation betecknas av en diamant. | Sammansättning betecknas med en markerad diamant. |
Funktionalitet | |
Sammanfattningsvis, om ägandeobjektet förstörs, påverkar det inte det innehåll som innehas. | I sammansättning, om ägandeobjektet förstörs, kommer det att påverka det inneboende föremålet. |
Objektorienterad programmering är ett viktigt paradigm inom mjukvaruutveckling. I OOP modelleras systemet med objekt. Dessa objekt existerar inte isolerat. Objekt samarbetar med andra objekt. Förhållandet mellan objekt är känt som association. Sammanslagning och sammansättning är typer av föreningar. Skillnaden mellan aggregering och sammansättning är att aggregering är en koppling mellan två objekt som beskriver förhållandet "har ett" och kompositionen är den mer specifika typen aggregering som innebär ägande. Sammanslagning och sammansättning bidrar båda till att förstå systemets beteende.
Du kan hämta PDF-versionen av den här artikeln och använda den för offlineändamål enligt citationsnotat. Var god ladda ner PDF-version här Skillnad mellan aggregering och komposition
1.tutorialspoint.com. "OOAD Object Model." Punkten. Tillgänglig här
2.6 5 Användning av aggregering och komposition, Människors karriär, 22 maj 2015. Tillgänglig här