Kľúčový rozdiel - agregácia vs zloženie v Jave
Agregácia je asociácia medzi dvoma objektmi, ktorá popisuje vzťah „má-a“. Skladba je konkrétnejším typom agregácie, ktorý znamená vlastníctvo. Kľúčový rozdiel medzi agregáciou a kompozíciou v Jave je ten, ž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 kompozícia.
Objektovo orientované programovanie (OOP) je hlavnou paradigmou vo vývoji softvéru. Používa sa na modelovanie softvéru pomocou objektov. Objekty sa vytvárajú pomocou tried. Trieda sa skladá z vlastností a metód. Softvér obsahuje viac objektov. Každý objekt vzájomne spolupracuje pri odovzdávaní správ. Vzťah medzi dvoma objektmi je známy ako asociácia. Agregácia aj zloženie sú dva typy asociácií. Vzťah „má-a“popisuje, že jeden objekt môže používať 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 asociácia medzi týmito dvoma objektmi agregáciou. Ak obsiahnutý objekt nemôže existovať bez existencie vlastniaceho objektu,potom je asociácia medzi týmito dvoma objektmi kompozícia.
OBSAH
1. Prehľad a kľúčový rozdiel
2. Čo je agregácia v Jave
3. Čo je kompozícia v Jave
4. Podobnosti medzi agregáciou a kompozíciou v Jave
5. Porovnanie vedľa seba - agregácia vs zloženie v Jave v tabuľkovej forme
6. Zhrnutie
Čo je agregácia v prostredí Java?
Agregácia je typ asociácie. Ak má trieda odkaz na entitu, je známa ako agregácia. Agregácia predstavuje vzťah typu has-a. Študentský objekt môže mať vlastnosti ako id_študenta, meno, adresa. Tento objekt môže mať aj ďalší objekt nazývaný adresa s vlastnými informáciami, ako je mesto, štát, krajina. V tejto situácii má študent referenčnú adresu entity. Je to vzťah „má“.
Obrázok 01: Trieda známok
Obrázok 02: Hlavný program na opis agregácie
Podľa vyššie uvedeného programu sa trieda Marks skladá z troch vlastností, ktorými sú matematické, anglické a prírodovedné známky. Študent má predmet známok. Má svoje vlastné vlastnosti, ktoré sú známkami z matematiky, angličtiny a prírodných vied. V hlavnej metóde sa vytvorí objekt značiek a priradia sa im hodnoty značiek. Študentský objekt, ktorý je s1, môže používať objekt značiek, ktorý je m1. Preto majú študent a známky vzťah „has-a“. Objekt Marks môže existovať aj bez objektu Student. Preto je to agregácia.
Čo je zloženie v Jave?
Zloženie je typom združenia. Je to konkrétna forma agregácie, z ktorej vyplýva vlastníctvo. Predpokladajme, že existujú dve triedy nazývané trieda A a B. Ak objekt triedy B nemôže existovať, ak je objekt triedy A zničený, potom ide o kompozíciu. Kniha sa skladá z mnohých strán. Ak je kniha zničená, zničia sa aj stránky. Objekty stránky nemôžu existovať bez objektu knihy. Pozrite si nižšie uvedený program.
Obrázok 03: Učebňa Trieda
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ú name a numOfStudents. Škola je zbierka predmetov Učebne. V hlavnej metóde sú vytvorené dva objekty Učebne. Tie sa pridávajú do „tried“. Tieto „učebne“sa odovzdávajú školskému objektu. Nakoniec sa iteráciou v zbierke vytlačí názov triedy a počet študentov. Ak je školský objekt zničený, zničia sa aj predmety v učebni. Toto je príklad zloženia. Obsahuje tiež vzťah „má“a znamená tiež 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 podmnožinou agregácie
Aký je rozdiel medzi agregáciou a zložením v Jave?
Rozdielny článok v strede pred tabuľkou
Agregácia vs zloženie v Jave |
|
Agregácia je asociácia medzi dvoma objektmi, ktorá popisuje vzťah „má“. | Skladba je konkrétnejší typ agregácie, z ktorého vyplýva vlastníctvo. |
Využitie | |
Agregácia sa používa, keď jeden objekt používa iný objekt. | Skladba sa používa, keď jeden objekt vlastní iný objekt. |
Ovplyvnenie predmetov | |
V súhrne zničenie vlastniaceho objektu neovplyvní obsahujúci objekt. | V zložení zničenie vlastniaceho objektu ovplyvní obsahujúci objekt. |
Zhrnutie - agregácia vs zloženie v Jave
Agregácia a zloženie sú dva pojmy v OOP. Vzťah „má-a“popisuje, že jeden objekt môže používať iný objekt. Agregácia je asociácia medzi dvoma objektmi, ktorá popisuje vzťah „má-a“. Skladba je konkrétnejší typ agregácie, z ktorého vyplýva vlastníctvo. Rozdiel medzi agregáciou a kompozíciou v Jave je ten, ž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 kompozícia.