Razlika između agregacije i kompozicije u UML-u
Ključna razlika između agregacije i sastava
- Agregacija je jedna vrsta asocijacije između dva objekta koja opisuje odnos "imati", dok je kompozicija specifična vrsta agregacije koja podrazumijeva vlasništvo.
- Agregacija je označena ravnom linijom s praznim vrhom strelice na jednom kraju. S druge strane, kompozicija je označena ravnom linijom s popunjenim vrhom strelice na bilo kojem kraju.
- U odnosu združivanja, objekti koji su povezani jedan s drugim mogu ostati u opsegu sustava jedan bez drugog. Ali u odnosu kompozicije, objekti koji su povezani jedan s drugim ne mogu ostati u opsegu jedan bez drugog.
- U agregaciji, povezani objekti ne ovise o drugom objektu, dok su u sastavu objekti jako ovisni jedni o drugima.
- U agregaciji, brisanje jednog elementa ne utječe na drugi povezani element. Naprotiv, u sastavu, brisanje jednog elementa utječe na drugi pridruženi element.
- Agregacija je označena ispunjenim rombom, dok prazan rombom označava sastav.

Što je agregacija?
Agregacija je poseban slučaj asocijacije kada objekt 'ima' drugi objekt, koji možete imati agregaciju između njih. Smjer između njih pomaže vam odrediti koji objekt sadrži drugi objekt. Agregacija je također poznata kao odnos "Ima-a". To je podvrsta asocijacijskog odnosa u UML.
Što je sastav?
Kompozicija je poseban slučaj agregacije koji vam pomaže da specificirate odnos cijelog dijela između klase kompozicije i podređene klase (dijela).
Razlika između agregacije i kompozicije u UML-u
Evo glavne razlike između agregacije i kompozicije:
sakupljanje | Sastav |
---|---|
Agregacija je jedna vrsta povezivanja između dva objekta koja također opisuje odnos "imati". | Kompozicija je specifična vrsta agregacije koja podrazumijeva vlasništvo. |
Agregacija je označena ravnom linijom s praznim vrhom strelice na jednom kraju. | Kompozicija je označena ravnom linijom s popunjenim vrhom strelice na bilo kojem kraju. |
Agregacija je dio asocijacijskog odnosa. | Sastav je dio asocijacijskog odnosa. |
Agregacija se smatra slabom vrstom asocijacije. | Sastav se smatra jakom vrstom asocijacije. |
U odnosu združivanja, objekti koji su povezani jedan s drugim mogu ostati u opsegu sustava jedan bez drugog. | U odnosu kompozicije, objekti koji su povezani jedan s drugim ne mogu ostati u opsegu jedan bez drugog. |
U agregaciji, povezani objekti ne ovise o drugom objektu. | U sastavu, objekti su jako ovisni jedni o drugima. |
U agregaciji, brisanje jednog elementa ne utječe na drugi povezani element. | U sastavu, brisanje jednog elementa utječe na drugi povezani element. |
Primjer: Automobilu je potreban kotač, ali nije uvijek potreban isti kotač. Automobil može adekvatno funkcionirati i s drugim kotačem. | Primjer: Datoteka je smještena unutar mape. Ako se izbriše mapa, briše se i datoteka povezana s tom mapom. |
U agregaciji, roditelj odnos s entitetom dijete. |
U sastavu, roditeljski entitet posjeduje entitet dijete. |
Označava se ispunjenim rombom | Označava se praznim rombom |
Dijete nema cijeli život. | Dijete može imati cijeli život. |
Predstavlja ga šuplji dijamant pored klase sklopa. | Predstavljen je čvrstim dijamantom pored klase sklopa. |
Brisanje sklopa nikada ne utječe na njegove dijelove. | U slučaju posjedovanja klase, objekt se briše. Također utječe na objekt klase koji ga sadrži. |
Agregacija nasuprot sastavu: Ključna statistika
sakupljanje | Sastav | |
---|---|---|
Vlasnik | Bez vlasnika | Vlasnik samac |
Život | Imaju svoj životni vijek. | Životni vijek vlasnika. |
Dječji objekt | Svi su podređeni objekti neovisni. | Podređeni objekti pripadaju jednom roditelju. |
Primjer sastava
Mapa može sadržavati mnogo datoteka, dok svaka datoteka ima točno jednu nadređenu mapu. Ako se mapa izbriše, uklanjaju se i sve sadržane datoteke. U kompozitnoj agregaciji, objekt može biti dio samo jedne kompozitne jedinice u isto vrijeme.
Primjer agregacije
Na primjer, vaš se automobil sastoji od kotača, motora, mjenjača, upravljača i glavnog tijela itd. To je sklop, a ostali dijelovi su njegovi sastavni dijelovi.
Ovdje je auto do volana jedan agregat, auto do motora je drugi agregat, auto do mjenjača drugi, i tako dalje.
Ova vrsta uparivanja pomaže vam da definirate višestrukost sastavnog dijela unutar sklopa kao njegov ishod. Može se prikazati i broj predmeta.
Automobilu je potreban kotač da bi ispravno funkcionirao. Međutim, to ne možemo reći za automobil. Ista se logika može primijeniti na bicikl, bicikl ili bilo koje drugo vozilo, ali ne i na određeni automobil.
Ovdje je objekt kotač smislen čak i bez objekta automobila. Poznat je kao odnos agregacije.