Rozdiel medzi agregáciou a kompozíciou

Obsah:

Rozdiel medzi agregáciou a kompozíciou
Rozdiel medzi agregáciou a kompozíciou

Video: Rozdiel medzi agregáciou a kompozíciou

Video: Rozdiel medzi agregáciou a kompozíciou
Video: Rozdiel medzi Shimano STEPS E7000 a E8000 2024, November
Anonim

Kľúčový rozdiel – agregácia verzus zloženie

Object-Oriented Programming (OOP) je bežnou paradigmou vo vývoji softvéru. Objekt je inštanciou triedy. Nie je možné vytvárať objekty naraz. Na vytvorenie objektu by mal existovať plán alebo popis. Tento plán je známy ako trieda. Trieda obsahuje vlastnosti a metódy. Objekty sa vytvárajú pomocou tried. Trieda a objekt sú podobné plánu a domu v skutočnom svete. Bez správneho plánu nie je možné postaviť dom. Podobne sa trieda používa na vytvorenie objektu. Objekt spolupracuje s inými objektmi. Spojenie s predstavuje vzťah dvoch alebo viacerých objektov sa nazýva „asociácia“. Agregácia a zloženie sú typy asociácií. Popisujú vzťah medzi triedami. Tento článok sa zaoberá rozdielom medzi agregáciou a zložením. Kľúčový rozdiel medzi agregáciou a kompozíciou je v tom, že agregácia je asociácia medzi dvoma objektmi, ktorá opisuje vzťah „má“a kompozícia je špecifickejším typom agregácie, ktorá znamená vlastníctvo.

Čo je agregácia?

Vzťah medzi dvoma objektmi je znázornený nakreslením čiary v jazyku Unified Modeling Language (UML). Odkaz je asociácia. UML pomáha získať vizuálnu reprezentáciu systému. Je to iné ako bežné programovacie jazyky. Asociácia tiež definuje početnosť objektov. Sú to jeden k jednému, jeden k mnohým a veľa k mnohým. Keď je jeden objekt triedy A spojený s jediným objektom triedy B, ide o vzťah jedna k jednej. Príkladom je autor píšuci knihu. V tomto príklade jeden autor píše knihu.

Keď je jeden objekt triedy A spojený s mnohými objektmi triedy B, ide o vzťah jeden k mnohým. Príkladom je, že oddelenie môže mať veľa zamestnancov. Keď je objekt triedy A spojený s mnohými objektmi triedy B a objekt triedy B je spojený s mnohými objektmi triedy A, ide o asociáciu many-to-many. Jedným z príkladov je, že zamestnanec môže pracovať na viacerých projektoch a projekt môže mať viacero zamestnancov.

Agregácia je typová asociácia, ktorá ďalej popisuje vzťah medzi objektmi. Agregácia popisuje vzťah „má“. Niektoré príklady, ktoré popisujú vzťah, sú: študent „má“študentské ID, vozidlo „má“motor. Vzťahom je tiež možné rozšíriť veľké množstvo. Niektoré príklady sú, banka „má veľa“bankových účtov, trieda „má veľa“študentov. Dá sa to vysvetliť pomocou nižšie uvedeného príkladu.

Rozdiel medzi agregáciou a zložením
Rozdiel medzi agregáciou a zložením

Obrázok 01: Agregácia

Podľa vyššie uvedeného príkladu sa trieda skladá zo študenta alebo viacerých študentov. Násobnosť sa používa aj na označenie počtu objektov. Opisuje, že v jednej triede je viacero žiakov. Symbol diamantu predstavuje agregáciu v UML. Študentské objekty sa nespoliehajú na objekt triedy. Ak je objekt triedy zničený, nebude to mať vplyv na objekty študentov. Tieto objekty budú stále existovať.

Čo je zloženie?

Zloženie je špecifickejšia forma agregácie. Popisuje vlastníctvo. Dá sa to vysvetliť pomocou nižšie uvedeného príkladu.

Kľúčový rozdiel medzi agregáciou a zložením
Kľúčový rozdiel medzi agregáciou a zložením

Obrázok 02: Zloženie

Podľa vyššie uvedeného sa objekt knihy skladá z objektu stránky alebo stránok. Násobnosť sa používa aj na označenie počtu objektov. Opisuje, že v jednej triede je viacero žiakov. Symbol diamantu, ktorý je zvýraznený, predstavuje kompozíciu v UML. Keďže kniha má stranu alebo veľa strán, ide o súhrn, ale je bližšie špecifikovaný. Ak je objekt knihy zničený, zničia sa aj objekty stránky. Objekty stránky nemôžu existovať bez objektu kniha. Zloženie je preto špecifickejšou formou agregácie, ktorá znamená vlastníctvo.

Aké sú podobnosti medzi agregáciou a kompozíciou?

  • Obe sa používajú v objektovo orientovanom programovaní.
  • Obe sa používajú v jazyku Unified Modeling Language (UML), aby ste získali vizuálne pochopenie systému.

Aký je rozdiel medzi agregáciou a zložením?

Agregácia vs zloženie

Agregácia je spojenie medzi dvoma objektmi, ktoré popisuje vzťah „má“. Zloženie je najšpecifickejší typ agregácie, ktorý znamená vlastníctvo.
Symbol UML
Agregácia je označená kosoštvorcom. Zloženie je označené zvýrazneným kosoštvorcom.
Funkčnosť
V súhrne platí, že ak je vlastnícky objekt zničený, nebude to mať vplyv na objekt, ktorý ho obsahuje. V kompozícii platí, že ak sa vlastníci objekt zničí, ovplyvní to aj objekt, ktorý ho obsahuje.

Súhrn – agregácia vs zloženie

Objektovo orientované programovanie je hlavnou paradigmou vo vývoji softvéru. V OOP je systém modelovaný pomocou objektov. Tieto objekty neexistujú izolovane. Objekty spolupracujú s inými objektmi. Vzťah medzi objektmi je známy ako asociácia. Agregácia a zloženie sú typy asociácií. Rozdiel medzi agregáciou a kompozíciou je v tom, že agregácia je spojenie medzi dvoma objektmi, ktoré opisuje vzťah „má“a zloženie je špecifickejším typom agregácie, ktorý znamená vlastníctvo. Agregácia aj zloženie pomáhajú pochopiť správanie systému.

Stiahnite si PDF verziu agregácie vs Composition

Verziu tohto článku si môžete stiahnuť vo formáte PDF a použiť ju na offline účely podľa citácie. Stiahnite si PDF verziu tu Rozdiel medzi agregáciou a zložením

Odporúča: