Što je sastav?
Sastav je poseban slučaj agregacije koji vam pomaže da odredite cjeloviti odnos između klase kompozicije i podređene (dijelove) klase.
Što je agregacija?
Agregacija je poseban slučaj pridruživanja kada objekt 'ima-a' drugi objekt, koji između njih možete imati agregaciju. Smjer između njih pomaže vam odrediti koji objekt sadrži drugi objekt. Agregacija je poznata i kao odnos "Ima-a". Podtip je odnosa pridruživanja u UML-u.
KLJUČNE RAZLIKE
- Agregacija je jedna vrsta povezanosti između dva objekta koja opisuju odnos "imaju", dok je Kompozicija posebna vrsta agregacije koja podrazumijeva vlasništvo.
- Zbrajanje se označava pomoću ravne crte s praznim vrhom strelice na jednom kraju. S druge strane, sastav se označava pomoću ravne crte s ispunjenom vrhom strelice na bilo kojem od krajeva.
- U odnosu agregacije, objekti koji su međusobno povezani mogu ostati u opsegu sustava jedni bez drugih. Ali u odnosu kompozicije, objekti koji su međusobno povezani ne mogu ostati u opsegu jedni bez drugih.
- U agregaciji povezani objekti ne ovise o drugom objektu, dok u sastavu objekti jako ovise jedni o drugima.
- U agregaciji, brisanje jednog elementa ne utječe na drugi pridruženi element. Naprotiv, u sastavu brisanje pojedinog elementa utječe na drugi pridruženi element.
- Agregacija je označena ispunjenim dijamantom, dok je sastav prazan dijamantom.
Ključne statistike
Zbrajanje | Sastav | |
Vlasnik | Nema vlasnika | Samostalni vlasnik |
Doživotno | Neka im bude život. | Životni vijek vlasnika. |
Dijete Predmet | Svi dječji predmeti su neovisni. | Podređeni predmeti pripadaju samohranom roditelju. |
Primjer sastava
Mapa može sadržavati mnogo datoteka, dok svaka datoteka ima točno jednog roditelja mape. Ako se mapa izbriše, uklanjaju se i sve sadržane datoteke. U složenoj agregaciji, objekt može biti dio samo jednog kompozita odjednom.
Primjer agregacije
Na primjer, vaš automobil sastoji se od kotača, motora, mjenjača, upravljača i glavnog dijela itd. To je sklop, a ostali dijelovi su njegovi sastavni dijelovi.
Ovdje je automobil na kotaču jedan agregat, automobil na motoru je drugi agregat, automobil na mjenjaču drugi, i tako dalje.
Ova vrsta uparivanja pomaže vam da definirate mnoštvo sastavnog dijela unutar sklopa kao njegov ishod. Može se prikazati i broj predmeta.
Za pravilno funkcioniranje automobila potreban je kotač. Međutim, to ne možemo reći s automobilom. Ista logika može se primijeniti na bicikl, bicikl ili bilo koje drugo vozilo, ali ne i na određeni automobil.
Ovdje je predmet kotača smislen i bez predmeta automobila. Poznat je kao odnos agregacije.
Razlika između agregacije i sastava
Evo glavne razlike između agregacije i sastava:
Zbrajanje | Sastav |
Agregacija je jedna vrsta povezivanja između dva objekta koja također opisuje odnos "imaju". | Sastav je posebna vrsta agregacije koja podrazumijeva vlasništvo. |
Zbrajanje se označava pomoću ravne crte s praznim vrhom strelice na jednom kraju. | Sastav je označen pomoću ravne crte s ispunjenim vrhom strelice na bilo kojem od krajeva. |
Agregacija je dio odnosa udruživanja. | Sastav je dio odnosa udruživanja. |
Agregacija se smatra slabim tipom udruživanja. | Sastav se smatra jakom vrstom udruživanja. |
U odnosu agregacije, objekti koji su međusobno povezani mogu ostati u opsegu sustava jedni bez drugih. | U odnosu kompozicije, objekti koji su međusobno povezani ne mogu ostati u opsegu jedni bez drugih. |
U agregaciji povezani objekti ne ovise o drugom objektu. | U sastavu su predmeti međusobno vrlo ovisni. |
U agregaciji, brisanje jednog elementa ne utječe na drugi pridruženi element. | U sastavu, brisanje pojedinog elementa utječe na drugi pridruženi element. |
Primjer: Za automobil je potreban kotač, ali ne treba uvijek isti kotač. Automobil može adekvatno funkcionirati i s drugim kotačem. | Primjer: Datoteka se nalazi unutar mape. Ako neko izbriše mapu, tada se briše i datoteka povezana s tom mapom. |
U agregaciji, roditeljski odnos s podređenim entitetom. | Po sastavu, nadređeni entitet posjeduje podređeni entitet. |
Označava se ispunjenim dijamantom | Označava se praznim dijamantom |
Dijete nema život. | Dijete može imati cijeli život. |
Predstavlja se šupljim dijamantom pored klase montaže. | Predstavlja ga puni dijamant pored klase montaže. |
Brisanje sklopa nikada ne utječe na njegove dijelove. | U slučaju posjedovanja klase, objekt se briše. Također utječe na objekt koji sadrži klasu. |