Razlika između agregacije i sastava

Sadržaj:

Razlika između agregacije i sastava
Razlika između agregacije i sastava

Video: Razlika između agregacije i sastava

Video: Razlika između agregacije i sastava
Video: Особенности строения ВИРУСОВ 2024, Studeni
Anonim

Ključna razlika – agregacija nasuprot sastavu

Objektno orijentirano programiranje (OOP) uobičajena je paradigma u razvoju softvera. Objekt je instanca klase. Nije moguće kreirati objekte odjednom. Trebao bi postojati nacrt ili opis za stvaranje objekta. Taj je nacrt poznat kao klasa. Klasa sadrži svojstva i metode. Objekti se stvaraju pomoću klasa. Klasa i objekt slični su planu i kući u stvarnom svijetu. Nije moguće izgraditi kuću bez odgovarajućeg plana. Isto tako, klasa se koristi za stvaranje objekta. Objekt surađuje s drugim objektima. Veza s predstavlja odnos dva ili više objekata naziva se "asocijacija". Združivanje i sastav vrste su asocijacija. Oni opisuju odnos među klasama. Ovaj članak govori o razlici između agregacije i sastava. Ključna razlika između združivanja i sastava je u tome što je združivanje veza između dva objekta koja opisuje odnos "ima", a sastav je specifičnija vrsta združivanja koja podrazumijeva vlasništvo.

Što je agregacija?

Odnos između dva objekta prikazan je crtanjem linije u Unified Modeling Language (UML). Poveznica je asocijacija. UML pomaže u dobivanju vizualnog prikaza sustava. Razlikuje se od uobičajenih programskih jezika. Asocijacija također definira višestrukost objekata. Oni su jedan-na-jedan, jedan-na-više i mnogo-na-više. Kada je jedan objekt klase A povezan s jednim objektom klase B, to je odnos jedan-na-jedan. Primjer je autor koji piše knjigu. U tom primjeru jedan autor piše knjigu.

Kada je jedan objekt klase A pridružen mnogim objektima klase B, to je odnos jedan prema više. Na primjer, odjel može imati mnogo zaposlenika. Kada je objekt klase A pridružen mnogim objektima klase B, a objekt klase B pridružen mnogim objektima klase A, to je asocijacija više-na-više. Jedan primjer je da zaposlenik može raditi na više projekata, a projekt može imati više zaposlenika.

Agregacija je asocijacija tipa koja dalje opisuje odnos između objekata. Agregacija opisuje odnos "ima". Neki primjeri koji opisuju odnos su, student "ima" studentsku iskaznicu, vozilo "ima" motor. Također je moguće proširiti veliku količinu s odnosom. Neki primjeri su, banka "ima mnogo" bankovnih računa, razred "ima mnogo" učenika. To se može objasniti pomoću primjera u nastavku.

Razlika između agregacije i sastava
Razlika između agregacije i sastava

Slika 01: Agregacija

Prema gornjem primjeru, razred se sastoji od učenika ili više učenika. Višestrukost se također koristi za označavanje broja objekata. Opisuje da jedna učionica ima više učenika. Simbol romba predstavlja agregaciju u UML-u. Studentski objekti se ne oslanjaju na objekt klase. Ako je objekt klase uništen, to neće utjecati na objekte učenika. Ti će objekti i dalje postojati.

Što je kompozicija?

Sastav je specifičniji oblik agregacije. Opisuje vlasništvo. To se može objasniti pomoću primjera u nastavku.

Ključna razlika između agregacije i sastava
Ključna razlika između agregacije i sastava

Slika 02: Kompozicija

Prema gore navedenom, objekt knjige sastoji se od objekta stranice ili stranica. Višestrukost se također koristi za označavanje broja objekata. Opisuje da jedna učionica ima više učenika. Simbol dijamanta koji je istaknut predstavlja kompoziciju u UML-u. Kako knjiga ima stranicu ili više stranica, to je agregacija, ali je više specificirana. Ako je objekt knjige uništen, objekti stranice također se uništavaju. Objekti stranice ne mogu postojati bez objekta knjige. Stoga je sastav specifičniji oblik agregacije koji podrazumijeva vlasništvo.

Koje su sličnosti između agregacije i sastava?

  • Oboje se koristi u objektno orijentiranom programiranju.
  • Oboje se koristi u Unified Modeling Language (UML) za vizualno razumijevanje sustava.

Koja je razlika između agregacije i sastava?

Agregacija nasuprot sastavu

Agregacija je asocijacija između dva objekta koja opisuje odnos "ima". Sastav je najspecifičnija vrsta agregacije koja podrazumijeva vlasništvo.
UML simbol
Agregacija je označena rombom. Sastav je označen istaknutim dijamantom.
Funkcionalnost
U agregaciji, ako je objekt koji posjeduje uništen, to neće utjecati na objekt koji ga sadrži. U sastavu, ako je objekt koji posjeduje uništen, to će utjecati na objekt koji ga sadrži.

Sažetak – agregacija nasuprot sastavu

Objektno orijentirano programiranje glavna je paradigma u razvoju softvera. U OOP sustav se modelira pomoću objekata. Ovi objekti ne postoje u izolaciji. Objekti surađuju s drugim objektima. Odnos među objektima poznat je kao asocijacija. Agregacija i kompozicija su vrste asocijacije. Razlika između združivanja i sastava je u tome što je združivanje veza između dva objekta koja opisuje odnos "ima", a sastav je specifičnija vrsta združivanja koja podrazumijeva vlasništvo. I agregacija i kompozicija pomažu u razumijevanju ponašanja sustava.

Preuzmite PDF verziju Aggregation vs Composition

Možete preuzeti PDF verziju ovog članka i koristiti ga za izvanmrežne svrhe prema napomeni o citatu. Ovdje preuzmite PDF verziju Razlika između agregacije i sastava

Preporučeni: