
Objektinis programavimas yra bendra paradigma, naudojama programinės įrangos kūrimui. Objektas yra klasės klasė, sukurta pagal klases. Objektai bendradarbiauja tarpusavyje per „Links“. Nuorodos yra fizinis ir konceptualus ryšys tarp objektų. Nuorodų, turinčių panašią struktūrą ir semantiką, rinkinys apibūdinamas kaip asociacija .
Palyginimo diagrama
Palyginimo pagrindas | Apibendrinimas | Sudėtis |
---|---|---|
Pagrindinis | Apibendrinant ten eksponuojami santykiai, kai vaikas gali egzistuoti nepriklausomai nuo tėvų. | Sudėtis negali egzistuoti nepriklausomai nuo tėvų. |
Santykių tipas | "turi" | "dalis" |
Asociacijos tipas | Silpna asociacija | Stipri asociacija |
UML dizaino simbolis | Atstovauja tuščiaviduriai deimantai šalia surinkimo klasės. | Atstovauja tvirtas deimantas šalia surinkimo klasės. |
Funkcija | Montavimo ištrynimas neturi įtakos jo dalims. | Jei nuosavybės klasės objektas yra ištrintas, jis gali turėti reikšmingą poveikį turinčiam klasės objektui. |
Apibendrinimo apibrėžtis
Apibendrinimas gali būti apibrėžiamas kaip santykis su surinkimo klase prie sudedamosios klasės. Ryšys tarp dviejų objektų gali būti pateikiamas brėžiant linijos segmentą UML (Unified Modeling Language).

Pavyzdžiui, automobilis susideda iš ratų, variklio, pavarų dėžės, vairo, pagrindinio korpuso ir tt Automobilis yra surinkimas, o kitos dalys yra jos sudedamosios dalys. Automobilis prie ratų yra viena agregacija, automobilis varikliams yra kita agregacija ir pan. Kiekvienas atskiras susiejimas apibrėžiamas kiekvienos sudedamosios dalies daugybėje, kaip rezultatas, taip pat gali būti pavaizduotas objektų skaičius.
Apibendrinimas yra asociacijos tipas, apibūdinantis „turi“ tipo ryšį tarp objektų. Pavyzdžiui, automobilis „turi“ pavarų dėžę, o automobilis „turi“ variklį . Vieno ir kito santykiams pavyzdys yra automobilis, turintis daug ratų .
Sudėtis
Kompozicija taip pat yra asociacijos tipas, bet labiau ribojanti forma. Jame UML atstovauja mažas kietas deimantas, esantis šalia surinkimo klasės.

Taigi sudėtis reiškia nuosavybės teisę į visos sudedamosios dalies dalį. Tai galiausiai padidintų programavimo patogumą. Kompozicija gali sukelti sudėtinio objekto ištrynimą išbraukiant surinkimo objektą.
Kompozicijoje aprašoma „dalis“ santykių. Pavyzdžiui, lapas yra medžio dalis, jei medis sunaikinamas, lapai turi būti sunaikinti.
Pagrindiniai suvienodinimo ir sudėties skirtumai
- Apibendrinimas rodo ryšį, kai vaikas ir patronuojančios įmonės gali egzistuoti savarankiškai. Kaip ir kompozicijoje, vaiko subjektas priklauso nuo tėvų.
- Apibendrinant egzistuoja santykis „turi“, o kompozicijoje yra „dalis“ santykio tarp susirinkimo ir sudedamųjų klasių objektų.
- Agregacija yra silpna asociacija, o sudėtis yra stipri asociacija, nes ji turi daugiau apribojimų.
- UML dizaine apibendrinimas apibūdinamas tuščiaviduriu deimantu. Priešingai, sudėtis yra pavaizduota kietu deimantu.
Išvada
Apibendrinant, sudedamosios dalys turi savarankišką egzistavimą ir gali būti dalijamos arba perduodamos agregatams ar jų surinkimui. Kita vertus, sudėtyje sudedamoji dalis priklauso tiksliai vienam surinkimui ar agregatui. Be to, dalis sukuriama, kai susidaro agregatas, o dalis sunaikinama, kai agregatas sunaikinamas.