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

Kľúčový rozdiel - agregácia proti zloženie v Jave

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.

OBSAH

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

Čo je agregácia v Jave?

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.

Čo je zloženie v jazyku Java?

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.

Aký je vzťah medzi agregáciou a zložením v Jave?

  • Agregácia a zloženie sú dva typy združení a zloženie je špecializovaný typ agregácie. Zloženie je podskupinou agregácie.

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

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.

Zhrnutie - agregácia proti zloženie v Jave

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.

referencie:

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