Preporučeno, 2024

Izbor Urednika

Razlika između agregacije i sastava

Agregacija i sastav su vrste udruženja. Primarna razlika između agregacije i sastava je ta da je agregacija implicitna veza u kojoj dijete može postojati neovisno o roditelju. S druge strane, sastav insinuira odnos u kojem dijete ne može postojati neovisno o roditelju.

Objektno orijentirano programiranje je uobičajena paradigma koja se koristi u razvoju softvera. Objekt je instanca klase koju kreiraju klase. Objekti surađuju jedni s drugima putem Linkova. Veze su fizička i konceptualna veza između objekata. Zbirka veza koje imaju sličnu strukturu i semantiku opisana je kao asocijacija .

Tablica usporedbe

Osnova za usporedbusakupljanjeSastav
Osnovni, temeljniU agregaciji postoji odnos u kojem dijete može postojati neovisno o roditelju.U sastavu ne može postojati nezavisno od roditelja.
Vrsta odnosa"ima""dio"
Vrsta pridruživanjaSlaba udrugaJaka veza
UML simbol dizajnaPredstavljen šupljim dijamantom pored klase za sklapanje.Predstavljen čvrstim dijamantom pored klase za sklapanje.
FunkcijaBrisanje skupa ne utječe na njegove dijelove.Ako je objekt klase vlasništva izbrisan, to bi moglo značajno utjecati na objekt klase koji sadrži.

Definicija agregacije

Agregacija se može definirati kao odnos s klasom montaže do konstitutivnog razreda. Odnos između dva objekta može se prikazati crtanjem segmenta linije u UML-u (Unified Modeling Language).

Agregacija se također koristi za određivanje mnoštva objekata kao što su jedan-na-jedan, jedan-na-mnogo i mnogo-na-mnogo. Kada je objekt klase X povezan s jednim objektom razreda Y, u tom slučaju postoji odnos jedan-na-jedan. Slično tome, ako je jedan objekt klase povezan s više objekata klase, tada se taj odnos naziva jedan-na-mnogo.

Na primjer, automobil se sastoji od kotača, motora, mjenjača, upravljača, glavnog tijela itd. Automobil je sklop, a ostali dijelovi su njegovi sastavni dijelovi. Automobil na kotačima je jedna agregacija, automobil motorima je još jedna agregacija, i tako dalje. Svako pojedinačno uparivanje je definirano tako da specificira mnogostrukost svakog sastavnog dijela unutar sklopa kao rezultat može biti prikazan i broj objekata.

Agregacija je tip asocijacije koji opisuje vrstu "ima a" između objekata. Na primjer, automobil “ima” mjenjač, ​​a automobil “ima” motor . Za odnos jedan-na-jedan, primjer je automobil koji ima mnogo kotača .

Definicija sastava

Sastav je također vrsta asocijacije, ali više ograničavajući oblik. U UML-u je predstavljen sitnim čvrstim dijamantom uz klasu montaže.

U ovoj vrsti asocijacije sastavni dio se može povezati s najviše jednim sklopom. Osim toga, kada sastavni dio surađuje s montažom, on će imati istodobni vijek trajanja sa sklopom.

Dakle, sastav označava vlasništvo nad sastavnim dijelom cjeline. To bi u konačnici povećalo pogodnost programiranja. Sastav može potaknuti brisanje konstitutivnog objekta brisanjem sklopa objekta.

Sastav opisuje "dio" odnosa. Primjerice, list je dio stabla, ako je stablo uništeno, lišće mora biti uništeno.

Ključne razlike između agregacije i sastava

  1. Agregacija označava odnos u kojem dijete i roditelj mogu postojati neovisno. Nasuprot tome, u kompoziciji dijete je ovisno o roditelju.
  2. U agregaciji postoji odnos "ima", dok u sastavu postoji "dio" odnosa između skupa i konstitutivnih objekata klase.
  3. Agregacija je slaba povezanost, dok je sastav jaka asocijacija jer ima više ograničenja.
  4. U UML dizajnu agregacija je opisana šupljim dijamantom. Nasuprot tome, sastav je prikazan čvrstim dijamantom.

Zaključak

U agregaciji, sastavni dijelovi imaju neovisno postojanje i mogu se dijeliti ili preraspodijeliti na agregate ili na njihov sklop. S druge strane, u sastavu, sastavni dio pripada točno jednom sklopu ili agregatu. Nadalje, dio se stvara kada se formira agregat, a dio se uništava kada se agregat uništi.

Top