Agregácia verzus zloženie
Obsah
- Obsah: Rozdiel medzi agregáciou a zložením
- Porovnávacia tabuľka
- Čo je agregácia?
- Kľúčové rozdiely
- záver
- Vysvetľujúce video
Kľúčový rozdiel medzi agregáciou a zložením spočíva v tom, že v agregácii existuje vzťah medzi rodičom a dieťaťom, v ktorom môže dieťa existovať nezávisle, zatiaľ čo zloženie je vzťah medzi rodičom a dieťaťom, v ktorom dieťa nemôže existovať nezávisle bez rodiča.
Pridruženie je veľmi dôležitý koncept v objektovo orientovanom programovaní. V objektovo orientovanom programovaní sú dáta skryté pred nečlenskými funkciami triedy. Iba členská funkcia triedy môže používať dáta. Akákoľvek funkcia, ktorá nie je členom, môže upravovať údaje, ktoré sú vo funkčnej triede. Objekt a triedy sú hlavné koncepcie objektovo orientovaného programovania. Zapuzdrenie údajov, ktoré sa tiež nazýva abstrakcia a dedičnosť, sa dosahuje aj objektovo orientovaným programovaním. Agregácia a zloženie sú typmi asociácií a sú veľmi dôležitým konceptom objektovo orientovaného programovania. V súhrne existuje vzťah medzi rodičom a dieťaťom, v ktorom môže dieťa existovať nezávisle, zatiaľ čo zloženie je vzťah medzi rodičom a dieťaťom, v ktorom dieťa nemôže existovať nezávisle bez rodiča. Zloženie má spoločnú paradigmu v objektovo orientovanom programovaní, ktoré je veľmi dôležité pri vývoji softvéru. Reštriktívna forma spojenia je kompozícia, v ktorej existuje vzťah rodič - dieťa, v ktorom dieťa nemôže existovať nezávisle bez rodiča. V UML je predstavovaný malým masívnym diamantom.
V kompozícii môže byť základná časť spojená s väčšinou v zostave. Jedna trieda sa stane kontajnerom a druhá trieda sa stane obsahom, ktorý je v tomto kontajneri. Majú dedičnú časť veľmi ľahkú a metódu jednej triedy je možné použiť bez toho, aby ste znova museli celý kód napísať. V zložení existuje „časť“ vzťahu. Agregácia je vzťah medzi triedou zhromaždenia a triedou prvkov. V UML je zjednotený modelovací jazyk, ktorý zobrazuje agregačný vzťah s úsečkou. Agregácia ukazuje vzťah ako jeden ku každému, jeden k mnohým, veľa k mnohým. Ak jedna trieda má viac tried, existuje jeden až veľa vzťahov, zatiaľ čo veľa tried má viac objektov, vzťah medzi mnohými. „Má“ je vzťah, ktorý je opísaný v agregácii.
Obsah: Rozdiel medzi agregáciou a zložením
- Porovnávacia tabuľka
- Čo je agregácia?
- Kľúčové rozdiely
- záver
- Vysvetľujúce video
Porovnávacia tabuľka
základ | sčítanie | zloženie |
zmysel | V súhrne existuje vzťah rodič - dieťa, v ktorom môže dieťa existovať nezávisle | Zloženie je vzťah rodič - dieťa, v ktorom dieťa nemôže existovať nezávisle bez rodiča.
|
združenie | V agregácii existuje slabá asociácia. | Pokiaľ ide o zloženie, existuje silná asociácia. |
UML | V UML agregáciu možno definovať pomocou segmentu linky | V UML zloženie možno definovať pomocou diamantu. |
funkcie | Vymazanie zostavy nemá žiadny vplyv na agregáciu. | Delécia kompozície môže mať vplyv na kompozíciu |
Čo je agregácia?
Agregácia je vzťah medzi triedou zhromaždenia a triedou prvkov. V UML je zjednotený modelovací jazyk, ktorý zobrazuje agregačný vzťah s úsečkou. Agregácia ukazuje vzťah ako jeden ku každému, jeden k mnohým, veľa k mnohým. Ak jedna trieda má viac tried, existuje jeden až veľa vzťahov, zatiaľ čo veľa tried má viac objektov, vzťah medzi mnohými. „Má“ je vzťah, ktorý je opísaný v agregácii.
Čo je zloženie?
Reštriktívna forma spojenia je kompozícia, v ktorej existuje vzťah rodič - dieťa, v ktorom dieťa nemôže existovať nezávisle bez rodiča. V UML je predstavovaný malým masívnym diamantom. V kompozícii môže byť základná časť spojená s väčšinou v zostave. Jedna trieda sa stane kontajnerom a druhá trieda sa stane obsahom, ktorý je v tomto kontajneri. Tie majú dedičnú časť veľmi ľahko a metódu jednej triedy je možné použiť bez toho, aby ste museli znova písať celý kód. V zložení existuje „časť“ vzťahu.
Kľúčové rozdiely
- V súhrne existuje vzťah medzi rodičom a dieťaťom, v ktorom dieťa môže existovať nezávisle, zatiaľ čo zloženie je vzťah rodiča a dieťaťa, v ktorom dieťa nemôže existovať nezávisle bez rodiča.
- V agregácii existuje slabá asociácia, zatiaľ čo v kompozícii je silná asociácia, zatiaľ čo v kompozícii je silná asociácia.
- Agregáciu v UML možno definovať pomocou segmentu čiary, zatiaľ čo v UML je možné definovať zloženie pomocou diamantu.
- Delécia zostavy nemá žiadny vplyv na agregáciu, zatiaľ čo delécia kompozície môže mať vplyv na kompozíciu
záver
V tomto článku vyššie vidíme jasný rozdiel medzi agregáciou a zložením s príkladmi.