Ključna razlika – združevanje proti sestavi
Objektno usmerjeno programiranje (OOP) je običajna paradigma pri razvoju programske opreme. Objekt je primerek razreda. Objektov ni mogoče ustvariti naenkrat. Obstajati mora načrt ali opis za ustvarjanje predmeta. Ta načrt je znan kot razred. Razred vsebuje lastnosti in metode. Objekti so ustvarjeni z uporabo razredov. Razred in predmet sta podobna načrtu in hiši v resničnem svetu. Brez ustreznega načrta hiše ni mogoče zgraditi. Podobno se razred uporablja za ustvarjanje predmeta. Predmet sodeluje z drugimi predmeti. Povezava s predstavlja odnos dveh ali več predmetov se imenuje "povezava". Združevanje in sestavljanje sta vrsti asociacij. Opisujejo razmerje med razredi. Ta članek obravnava razliko med združevanjem in sestavo. Ključna razlika med združevanjem in sestavo je, da je združevanje povezava med dvema objektoma, ki opisuje razmerje »ima«, sestava pa je bolj specifična vrsta združevanja, ki implicira lastništvo.
Kaj je združevanje?
Razmerje med dvema objektoma je prikazano z risanjem črte v poenotenem modelnem jeziku (UML). Povezava je asociacija. UML pomaga pridobiti vizualno predstavitev sistema. Je drugačen od običajnih programskih jezikov. Asociacija določa tudi mnogoterost predmetov. So ena proti ena, ena proti mnogo in mnogo proti mnogo. Ko je en sam objekt razreda A povezan z enim samim objektom razreda B, je to razmerje ena proti ena. Primer je avtor, ki piše knjigo. V tem primeru en avtor piše knjigo.
Ko je en objekt razreda A povezan z mnogimi objekti razreda B, je to razmerje ena proti mnogo. Na primer, oddelek ima lahko veliko zaposlenih. Ko je objekt razreda A povezan s številnimi objekti razreda B in je objekt razreda B povezan s številnimi objekti razreda A, gre za povezavo veliko proti mnogo. En primer je, da lahko zaposleni dela na več projektih in projekt ima lahko več zaposlenih.
Združevanje je asociacija tipov, ki nadalje opisuje odnos med objekti. Združevanje opisuje razmerje »ima«. Nekaj primerov, ki opisujejo razmerje, je: študent "ima" študentsko izkaznico, vozilo "ima" motor. Z razmerjem je mogoče razširiti tudi veliko količino. Nekateri primeri so: banka "ima veliko" bančnih računov, razred "ima veliko" študentov. To je mogoče razložiti s spodnjim primerom.
Slika 01: Združevanje
Glede na zgornji primer je učilnica sestavljena iz učenca ali več učencev. Večkratnost se uporablja tudi za označevanje števila predmetov. Opisuje, da ima ena učilnica več učencev. Simbol diamanta predstavlja združevanje v UML. Objekti učenca se ne zanašajo na predmet razreda. Če je predmet razreda uničen, to ne bo vplivalo na predmete študentov. Ti predmeti bodo še vedno obstajali.
Kaj je sestava?
Sestava je bolj specifična oblika združevanja. Opisuje lastništvo. To je mogoče razložiti s spodnjim primerom.
Slika 02: Kompozicija
Glede na zgoraj navedeno je objekt knjige sestavljen iz predmeta strani ali strani. Večkratnost se uporablja tudi za označevanje števila predmetov. Opisuje, da ima ena učilnica več učencev. Simbol diamanta, ki je poudarjen, predstavlja sestavo v UML. Ker ima knjiga stran ali več strani, je agregacija, vendar je bolj določena. Če je predmet knjige uničen, se uničijo tudi objekti strani. Objekti strani ne morejo obstajati brez objekta knjige. Zato je sestava bolj specifična oblika združevanja, ki implicira lastništvo.
Kakšne so podobnosti med združevanjem in sestavo?
- Oboje se uporablja v objektno usmerjenem programiranju.
- Oboje se uporablja v poenotenem modelnem jeziku (UML) za vizualno razumevanje sistema.
Kakšna je razlika med združevanjem in sestavo?
Združevanje proti sestavi |
|
Združevanje je povezava med dvema objektoma, ki opisuje razmerje »ima«. | Sestava je najbolj specifična vrsta združevanja, ki implicira lastništvo. |
Simbol UML | |
Združevanje je označeno z rombom. | Kompozicija je označena s poudarjenim rombom. |
Funkcionalnost | |
Pri združevanju, če je lastniški objekt uničen, to ne bo vplivalo na vsebovalni objekt. | V sestavi, če je lastniški objekt uničen, bo to vplivalo na vsebovalni objekt. |
Povzetek – Združevanje proti sestavi
Objektno usmerjeno programiranje je glavna paradigma v razvoju programske opreme. V OOP je sistem modeliran z uporabo objektov. Ti objekti ne obstajajo sami. Predmeti sodelujejo z drugimi predmeti. Odnos med predmeti je znan kot asociacija. Združevanje in sestavljanje sta vrsti združevanja. Razlika med združevanjem in sestavo je v tem, da je združevanje povezava med dvema objektoma, ki opisuje razmerje »ima«, sestava pa je bolj specifična vrsta združevanja, ki implicira lastništvo. Združevanje in sestavljanje pomagata razumeti obnašanje sistema.
Prenesite PDF različico Aggregation vs Composition
Lahko prenesete PDF različico tega članka in jo uporabite za namene brez povezave v skladu z opombo o citiranju. Prenesite različico PDF tukaj. Razlika med združevanjem in sestavo