Sleutelverskil – Aggregasie vs Samestelling
Object-Oriented Programming (OOP) is 'n algemene paradigma in sagteware-ontwikkeling. Die objek is 'n voorbeeld van 'n klas. Dit is nie moontlik om voorwerpe gelyktydig te skep nie. Daar moet 'n bloudruk of 'n beskrywing wees om 'n voorwerp te skep. Daardie bloudruk staan bekend as 'n klas. 'n Klas bevat eienskappe en metodes. Voorwerpe word met behulp van klasse geskep. Klas en voorwerp is soortgelyk aan 'n plan en huis in die regte wêreld. Dit is nie moontlik om 'n huis te bou sonder 'n behoorlike plan nie. Net so word 'n klas gebruik om 'n voorwerp te skep. 'n Voorwerp werk saam met ander voorwerpe. 'n Skakel met verteenwoordig die verhouding van twee of meer voorwerpe word 'n "assosiasie" genoem. Aggregasie en samestelling is tipes assosiasies. Hulle beskryf die verhouding tussen klasse. Hierdie artikel bespreek die verskil tussen samestelling en samestelling. Die sleutelverskil tussen samevoeging en samestelling is dat samevoeging 'n assosiasie is tussen twee voorwerpe wat die "het 'n" verwantskap beskryf en samestelling is 'n meer spesifieke tipe samevoeging wat eienaarskap impliseer.
Wat is samevoeging?
'n Verwantskap tussen twee voorwerpe word getoon deur 'n lyn in Unified Modeling Language (UML) te trek. Die skakel is 'n vereniging. UML help om 'n visuele voorstelling van die stelsel te kry. Dit is anders as gewone programmeertale. Assosiasie definieer ook die veelheid van voorwerpe. Hulle is een-tot-een, een-tot-veel en baie-tot-baie. Wanneer 'n enkele voorwerp van klas A met die enkele voorwerp van klas B geassosieer word, is dit 'n een-tot-een verhouding. 'n Voorbeeld is 'n skrywer wat 'n boek skryf. In daardie voorbeeld is een skrywer besig om 'n boek te skryf.
Wanneer een voorwerp van klas A met baie voorwerpe van klas B geassosieer word, is dit 'n een-tot-baie-verhouding. 'n Voorbeeld is dat 'n departement baie werknemers kan hê. Wanneer die voorwerp van klas A geassosieer word met baie voorwerpe van klas B en 'n voorwerp van klas B word geassosieer met baie voorwerpe van klas A, is dit 'n baie-tot-baie assosiasie. Een voorbeeld is, 'n werknemer kan aan veelvuldige projekte werk en 'n projek kan veelvuldige werknemers hê.
Aggregasie is tipe assosiasie wat die verhouding tussen voorwerpe verder beskryf. Aggregasie beskryf "het 'n" verhouding. Enkele voorbeelde wat die verhouding beskryf is, 'n student "het 'n" studente-ID, 'n voertuig "het 'n" enjin. Dit is ook moontlik om 'n groot hoeveelheid met die verhouding uit te brei. Enkele voorbeelde is, 'n bank "het baie" bankrekeninge, 'n klas "het baie" studente. Dit kan verduidelik word deur die voorbeeld hieronder te gebruik.
Figuur 01: Aggregasie
Volgens bogenoemde voorbeeld bestaan die klaskamer uit 'n student of baie studente. Veelvoud word ook gebruik om die aantal voorwerpe aan te dui. Dit beskryf dat een klaskamer veelvuldige studente het. Die simbool van die diamant verteenwoordig die samevoeging in UML. Studentevoorwerpe maak nie op die klasvoorwerp staat nie. As die klasvoorwerp vernietig word, sal dit nie die student-voorwerpe beïnvloed nie. Daardie voorwerpe sal steeds bestaan.
Wat is samestelling?
Die samestelling is 'n meer spesifieke vorm van samevoeging. Dit beskryf die eienaarskap. Dit kan verduidelik word deur die voorbeeld hieronder te gebruik.
Figuur 02: Samestelling
Volgens bogenoemde bestaan die boekvoorwerp uit bladsyvoorwerp of bladsye. Veelvoud word ook gebruik om die aantal voorwerpe aan te dui. Dit beskryf dat een klaskamer veelvuldige studente het. Die simbool van diamant wat uitgelig word verteenwoordig die samestelling in UML. Aangesien die boek 'n bladsy of baie bladsye het, is dit 'n samevoeging, maar dit is meer gespesifiseer. As die boekvoorwerp vernietig word, word die bladsyvoorwerpe ook vernietig. Bladsy-objekte kan nie sonder die boekvoorwerp bestaan nie. Daarom is die samestelling 'n meer spesifieke vorm van 'n samevoeging wat eienaarskap impliseer.
Wat is die ooreenkomste tussen samevoeging en samestelling?
- Albei word in objekgeoriënteerde programmering gebruik.
- Albei word in Unified Modeling Language (UML) gebruik om 'n visuele begrip van die stelsel te kry.
Wat is die verskil tussen samevoeging en samestelling?
Aggregasie teen samestelling |
|
Aggregasie is 'n assosiasie tussen twee voorwerpe wat die "het 'n" verhouding beskryf. | Die samestelling is die mees spesifieke tipe samevoeging wat eienaarskap impliseer. |
UML-simbool | |
Aggregasie word met 'n diamant aangedui. | Komposisie word aangedui deur 'n gemerkte diamant. |
Funksionaliteit | |
In samevoeging, as die besitvoorwerp vernietig word, sal dit nie die inhoudende voorwerp beïnvloed nie. | In samestelling, as die besitvoorwerp vernietig word, sal dit die inhoudende voorwerp beïnvloed. |
Opsomming – Aggregasie vs Samestelling
Objekgeoriënteerde programmering is 'n belangrike paradigma in sagteware-ontwikkeling. In OOP word die stelsel met behulp van voorwerpe gemodelleer. Hierdie voorwerpe bestaan nie in isolasie nie. Voorwerpe werk saam met ander voorwerpe. Die verhouding tussen voorwerpe staan bekend as assosiasie. Aggregasie en samestelling is tipes assosiasie. Die verskil tussen samestelling en samestelling is dat samevoeging 'n assosiasie is tussen twee voorwerpe wat die "het 'n" verhouding beskryf en samestelling is die meer spesifieke tipe samevoeging wat eienaarskap impliseer. Aggregasie en samestelling help albei om die gedrag van die stelsel te verstaan.
Laai die PDF-weergawe van Aggregation vs Composition af
Jy kan die PDF-weergawe van hierdie artikel aflaai en dit vir vanlyn doeleindes gebruik soos per aanhalingsnota. Laai asseblief PDF-weergawe hier af Verskil tussen samevoeging en samestelling