Skirtumas tarp agregacijos ir sudėties

Pagrindinis skirtumas - agregacija vs sudtis
 

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.

TURINYS

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

Kas yra agregacija?

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.

Kas yra kompozicija?

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.

Kokie yra agregacijos ir sudėties panašumai?

  • Abu yra naudojami objektiniam programavimui.
  • Abi yra naudojamos vieningoje modeliavimo kalboje (UML), norint gauti vaizdinį sistemos supratimą.

Kuo skiriasi agregacija ir kompozicija??

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.

Santrauka - Agregacija vs sudtis 

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į.

Atsisiųskite agregacijos ir kompozicijos PDF versiją

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

Nuoroda:

1. Naudojant apibendrinimą ir kompoziciją, Žmonių karjera, 2015 m. Gegužės 22 d. Galima rasti čia