Objektinis programavimas (OOP) yra įprasta programinės įrangos kūrimo paradigma. Objektas yra klasės pavyzdys. Neįmanoma iš karto sukurti objektų. Norint sukurti objektą, turėtų būti brėžinys arba aprašymas. Tas projektas yra žinomas kaip klasė. Klasėje yra savybės ir metodai. Objektai kuriami naudojant klases. Klasė ir objektas yra panašūs į planą ir namą realiame pasaulyje. Neįmanoma pastatyti namo be tinkamo plano. Taip pat klasė naudojama kuriant objektą. Objektas bendradarbiauja su kitais objektais. Ryšys su vaizduoja dviejų ar daugiau objektų ryšį vadinamas „asociacija“. Agregacija ir sudėtis yra asociacijų tipai. Jie apibūdina santykį tarp klasių. Šiame straipsnyje aptariamas skirtumas tarp apibendrinimo ir sudėties. pagrindinis skirtumas tarp apibendrinimo ir sudėties yra tai agregacija yra dviejų objektų asociacija, apibūdinanti santykį „turi“, o kompozicija yra konkretesnis agregavimo tipas, reiškiantis nuosavybės teises.
1. Apžvalga ir svarbiausias skirtumas
2. Kas yra agregacija
3. Kas yra kompozicija
4. Agregacijos ir sudėties panašumai
5. Šalutinis palyginimas - apibendrinimas ir sudėtis lentelės forma
6. Santrauka
Ryšys tarp dviejų objektų parodomas nubrėžus liniją vieninga modeliavimo kalba (UML). Ryšys yra asociacija. UML padeda gauti vaizdinį sistemos vaizdą. Tai skiriasi nuo įprastų programavimo kalbų. Asociacija taip pat nusako objektų daugybę. Jie yra vienas su vienu, vienas su daugeliu ir nuo daug prie daugelio. Kai atskiras A klasės objektas yra susietas su vienu B klasės objektu, tai yra vienas su kitu santykiai. Pavyzdys yra autorius, rašantis knygą. Tame pavyzdyje vienas autorius rašo knygą.
Kai vienas A klasės objektas yra susijęs su daugeliu B klasės objektų, tai yra santykis vienas su daugeliu. Pavyzdžiui, departamente gali būti daug darbuotojų. Kai A klasės objektas yra susietas su daugeliu B klasės objektų, o B klasės objektas yra susietas su daugeliu A klasės objektų, tai asociacija „iš daugelio“. Vienas iš pavyzdžių yra tas, kad darbuotojas gali dirbti keliuose projektuose, o projektas gali turėti kelis darbuotojus.
Agregacija yra tipo asociacija, toliau apibūdinanti objektų ryšį. Apibendrinimas apibūdina „turi“ ryšį. Kai kurie santykį apibūdinantys pavyzdžiai yra tokie: studentas „turi“ studento ID, transporto priemonė „turi“ variklį. Taip pat įmanoma išplėsti didelį kiekį santykiuose. Keli pavyzdžiai: bankas „turi daug“ banko sąskaitų, klasė „turi daug“ mokinių. Tai galima paaiškinti naudojant žemiau pateiktą pavyzdį.
01 paveikslas: Agregacija
Pagal aukščiau pateiktą pavyzdį, klasę sudaro mokinys arba daug mokinių. Daugybumas taip pat naudojamas objektų skaičiui nurodyti. Tai apibūdina, kad vienoje klasėje yra keli mokiniai. Deimanto simbolis žymi UML agregaciją. Studentų objektai nepasikliauna klasės objektu. Jei klasės objektas bus sunaikintas, tai neturės įtakos mokinių objektams. Tie objektai vis tiek egzistuos.
Kompozicija yra konkretesnė agregavimo forma. Tai apibūdina nuosavybės teises. Tai galima paaiškinti naudojant žemiau pateiktą pavyzdį.
02 pav. Sudėtis
Pagal tai, kas išdėstyta aukščiau, knygos objektą sudaro puslapio objektas arba puslapiai. Daugybumas taip pat naudojamas objektų skaičiui nurodyti. Tai apibūdina, kad vienoje klasėje yra keli mokiniai. Pabrėžtas deimanto simbolis žymi kompoziciją UML. Kadangi knyga turi puslapį ar daug puslapių, tai yra apibendrinimas, tačiau jis yra tiksliau apibrėžtas. Jei knygos objektas sunaikinamas, puslapių objektai taip pat sunaikinami. Puslapio objektai negali egzistuoti be knygos objekto. Todėl kompozicija yra konkretesnė suvestinės forma, reiškianti nuosavybės teises.
Agregacija vs sudtis | |
Agregacija yra dviejų objektų asociacija, apibūdinanti santykį „turi“. | Kompozicija yra konkrečiausias apibendrinimo tipas, reiškiantis nuosavybės teises. |
UML simbolis | |
Agregacija žymima briliantu. | Kompozicija žymima paryškintu deimantu. |
Funkcionalumas | |
Apibendrinant, jei nuosavybės objektas bus sunaikintas, tai neturės įtakos turinčiam objektui. | Jei kompozicija sunaikins nuosavybės objektą, tai paveiks objektą, kuriame yra daiktas. |
Objektinis programavimas yra pagrindinė programinės įrangos kūrimo paradigma. OOP sistemoje sistema modeliuojama naudojant objektus. Šie objektai neegzistuoja atskirai. Objektai bendradarbiauja su kitais objektais. Santykis tarp objektų yra žinomas kaip asociacija. Agregacija ir sudėtis yra asociacijų tipai. Skirtumas tarp agregacijos ir sudėties yra tas, kad agregacija yra dviejų objektų asociacija, apibūdinanti santykį „turi“, o kompozicija yra konkretesnis agregavimo tipas, reiškiantis nuosavybės teises. Agregacija ir sudėtis padeda suprasti sistemos elgesį.
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia. Sumažinimo ir sudėties skirtumas
1. Naudojant apibendrinimą ir kompoziciją, Žmonių karjera, 2015 m. Gegužės 22 d. Galima rasti čia