Rozdiel medzi agregáciou a kompozíciou v jazyku Java

Obsah:

Rozdiel medzi agregáciou a kompozíciou v jazyku Java
Rozdiel medzi agregáciou a kompozíciou v jazyku Java

Video: Rozdiel medzi agregáciou a kompozíciou v jazyku Java

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

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

Agregácia je spojenie medzi dvoma objektmi, ktoré popisuje vzťah „má-a“. Zloženie je špecifickejším typom agregácie, ktorý znamená vlastníctvo. Kľúčový rozdiel medzi agregáciou a kompozíciou v jazyku Java je v tom, že ak obsiahnutý objekt môže existovať bez existencie vlastniaceho objektu, ide o agregáciu, a ak obsiahnutý objekt nemôže existovať bez existencie vlastniaceho objektu, ide o kompozíciu..

Object-Oriented Programming (OOP) je hlavnou paradigmou vo vývoji softvéru. Používa sa na modelovanie softvéru pomocou objektov. Objekty sú vytvorené pomocou tried. Trieda pozostáva z vlastností a metód. V softvéri je viacero objektov. Každý objekt navzájom spolupracuje prostredníctvom odovzdávania správ. Vzťah medzi dvoma objektmi je známy ako asociácia. Agregácia aj kompozícia sú dva typy asociácií. Vzťah „má-a“popisuje, že jeden objekt môže používať iný objekt. Agregáciu a kompozíciu je možné implementovať v podporných jazykoch OOP. Ak obsiahnutý objekt môže existovať bez existencie vlastneného objektu, potom spojenie medzi týmito dvoma objektmi je agregáciou. Ak obsiahnutý objekt nemôže existovať bez existencie vlastneného objektu, potom spojenie medzi týmito dvoma objektmi je zložením.

Čo je agregácia v jazyku Java?

Agregácia je typ asociácie. Ak má trieda odkaz na entitu, nazýva sa to agregácia. Agregácia predstavuje vzťah má-a. Objekt študenta môže mať vlastnosti ako študent_id, meno, adresa. Tento objekt môže mať aj iný objekt s názvom 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á-a“.

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

Obrázok 01: Trieda známok

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

Obrázok 02: Hlavný program na popis agregácie

Podľa vyššie uvedeného programu pozostávajú známky triedy z troch vlastností, ktorými sú známky z matematiky, angličtiny a prírodných vied. Študent má objekt známky. 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 hodnoty 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 objektu študenta. Preto je to agregácia.

Čo je kompozícia v jazyku Java?

Kompozícia je typ asociácie. Ide o špecifickú formu agregácie, ktorá znamená 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 je to kompozícia. Kniha pozostáva z mnohých strán. Ak je kniha zničená, zničia sa aj strany. Objekty stránky nemôžu existovať bez objektu kniha. Pozrite si program nižšie.

Rozdiel medzi agregáciou a kompozíciou v Java_Obrázok 03
Rozdiel medzi agregáciou a kompozíciou v Java_Obrázok 03

Obrázok 03: Trieda v triede

Rozdiel medzi agregáciou a kompozíciou v Java_Obrázok 04
Rozdiel medzi agregáciou a kompozíciou v Java_Obrázok 04

Obrázok 04: Školská trieda

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

Obrázok 05: Hlavný program na popis kompozície

Podľa vyššie uvedeného programu má Učebňa dve vlastnosti, ktorými sú name a numOfStudents. Škola je zbierka predmetov triedy. V hlavnej metóde sa vytvoria dva objekty triedy. Tie sa pridávajú do „učební“. Tieto ‚učebne‘prechádzajú do objektu školy. Nakoniec sa názov triedy a počet študentov vytlačí opakovaním cez kolekciu. Ak je zničený školský objekt, zničia sa aj predmety triedy. Toto je príklad kompozície. Obsahuje tiež vzťah „má-a“a tiež zahŕňa vlastníctvo.

Aký je vzťah medzi agregáciou a kompozíciou v jazyku Java?

Agregácia a zloženie sú dva typy asociácie a kompozícia je špecializovaný typ agregácie. Kompozícia je podmnožinou agregácie

Aký je rozdiel medzi agregáciou a kompozíciou v jazyku Java?

Agregácia vs zloženie v jazyku Java

Agregácia je spojenie medzi dvoma objektmi, ktoré popisuje vzťah „má“. Zloženie je špecifickejší typ agregácie, ktorý znamená vlastníctvo.
Použitie
Agregácia sa používa, keď jeden objekt používa iný objekt. Kompozícia sa používa, keď jeden objekt vlastní iný objekt.
Vplyv na objekty
V súhrne ničenie vlastneného objektu neovplyvní objekt, ktorý ho obsahuje. V kompozícii ovplyvní zničenie vlastneného objektu objekt, ktorý ho obsahuje.

Zhrnutie – agregácia vs zloženie v jazyku Java

Agregácia a kompozícia sú dva pojmy v OOP. Vzťah „má-a“opisuje, že jeden objekt môže používať iný objekt. Agregácia je spojenie medzi dvoma objektmi, ktoré opisuje vzťah „má-a“. Zloženie je špecifickejším typom agregácie, ktorá zahŕňa vlastníctvo. Rozdiel medzi agregáciou a kompozíciou v jazyku Java je v tom, že ak obsiahnutý objekt môže existovať bez existencie vlastneného objektu, ide o agregáciu a ak obsiahnutý objekt nemôže existovať bez existencie vlastneného objektu, je to kompozícia.

Odporúča: