Agregácia je asociácia medzi dvoma objektmi, ktorá popisuje vzťah „má-a“. Zloženie je špecifickejším typom agregácie, ktorá predpokladá vlastníctvo. kľúčový rozdiel medzi agregáciou a zložením v Jave je to, ak obsiahnutý objekt môže existovať bez existencie vlastniaceho objektu, je to agregácia a ak obsiahnutý objekt nemôže existovať bez existencie vlastniaceho objektu, je to zloženie.
Objektovo orientované programovanie (OOP) je hlavným vzorom vo vývoji softvéru. Používa sa na modelovanie softvéru pomocou objektov. Objekty sa vytvárajú pomocou tried. Trieda pozostáva z vlastností a metód. V softvéri je viacero objektov. Každý objekt spolupracuje prostredníctvom odovzdávania správ. Vzťah medzi dvoma objektmi sa nazýva asociácia. Agregácia aj zloženie sú dva typy združení. Vzťah „má-a“ popisuje, že jeden objekt môže použiť iný objekt. Agregáciu a zloženie je možné implementovať v jazykoch podporujúcich OOP. Ak obsiahnutý objekt môže existovať bez existencie vlastniaceho objektu, potom je spojenie medzi týmito dvoma objektmi agregáciou. Ak obsiahnutý objekt nemôže existovať bez existencie vlastniaceho objektu, potom spojenie medzi týmito dvoma objektmi je kompozíciou.
1. Prehľad a kľúčový rozdiel
2. Čo je agregácia v Jave
3. Čo je zloženie v jazyku Java
4. Podobnosti medzi agregáciou a zložením v Jave
5. Porovnanie bok po boku - agregácia verzus zloženie v Jave v tabuľkovej forme
6. Zhrnutie
Agregácia je typ asociácie. Ak trieda obsahuje odkaz na entitu, nazýva sa agregácia. Agregácia predstavuje vzťah medzi vzťahmi. Objekt Student môže mať vlastnosti, ako napríklad student_id, meno, adresa. Tento objekt môže mať aj iný objekt nazývaný adresa s vlastnými informáciami, ako sú mesto, štát, krajina. V tejto situácii má študent referenčnú adresu entity. Je to vzťah „má-a“.
Obrázok 01: Trieda známok
Obrázok 02: Hlavný program na opis agregácie
Podľa vyššie uvedeného programu triedy známky pozostávajú z troch vlastností, ktoré sú znakmi matematika, angličtina a veda. Študent má predmet Známky. Má svoje vlastné vlastnosti, ktoré sú znakmi matematiky, angličtiny a vedy. V hlavnej metóde sa vytvorí objekt Marks a priradí sa hodnotám značiek. Študentský objekt, ktorý je s1, môže použiť objekt značiek, ktorý je m1. Preto majú študent a známky vzťah „má-a“. Objekt Marks môže existovať bez Student Object. Ide teda o agregáciu.
Zloženie je typ asociácie. Je to špecifická forma agregácie, ktorá vyžaduje vlastníctvo. Predpokladajme, že existujú dve triedy, ktoré sa nazývajú triedy A a B. Ak objekt triedy B nemôže existovať, ak je objekt triedy A zničený, potom ide o kompozíciu. Kniha pozostáva z mnohých stránok. Ak je kniha zničená, stránky sa tiež zničia. Objekty stránky nemôžu existovať bez knižného objektu. Pozrite si nasledujúci program.
Obrázok 03: Trieda v triede
Obrázok 04: Školská trieda
Obrázok 05: Hlavný program na opis zloženia
Podľa vyššie uvedeného programu má Učebňa dve vlastnosti, ktoré sú meno a numOfStudents. Škola je zbierka predmetov triedy. V hlavnej metóde sa vytvoria dva objekty triedy. Tieto sa pridávajú do „tried“. Tieto „učebne“ sa odovzdávajú školskému objektu. Nakoniec sa názov triedy a počet študentov vytlačia iteráciou v kolekcii. Ak je predmet školy zničený, zničia sa aj objekty triedy. Toto je príklad zloženia. Obsahuje tiež vzťah „má-a“ a tiež znamená vlastníctvo.
Agregácia vs Zloženie v Jave | |
Agregácia je asociácia medzi dvoma objektmi, ktorá popisuje vzťah „má“. | Zloženie je špecifickejší typ agregácie, ktorý znamená vlastníctvo. |
používanie | |
Agregácia sa používa, keď jeden objekt používa iný objekt. | Zloženie sa používa, keď jeden objekt vlastní iný objekt. |
Ovplyvniť objekty | |
V agregácii ničenie vlastniaceho objektu nebude mať vplyv na obsahujúci objekt. | Zloženie, ktoré vlastní objekt, bude mať vplyv na obsahujúci objekt. |
Agregácia a zloženie sú v OOP dva pojmy. Vzťah „má-a“ popisuje, že jeden objekt môže použiť iný objekt. Agregácia je asociácia medzi dvoma objektmi, ktorá popisuje vzťah „má-a“. Zloženie je špecifickejší typ agregácie, ktorý znamená vlastníctvo. Rozdiel medzi agregáciou a kompozíciou v Jave je v tom, že ak obsiahnutý objekt môže existovať bez existencie vlastniaceho objektu, jedná sa o agregáciu a ak obsiahnutý objekt nemôže existovať bez existencie vlastniaceho objektu, je to zloženie.
1. „Pridruženie, zloženie a agregácia v Jave.“ GeeksforGeeks, 8. februára 2018. K dispozícii tu
2. „Agregácia v jazyku Java - Javatpoint.“ Java Point. K dispozícii tu