Agregace vs. složení

Autor: Laura McKinney
Datum Vytvoření: 4 Duben 2021
Datum Aktualizace: 9 Smět 2024
Anonim
Agregace vs. složení - Jiný
Agregace vs. složení - Jiný

Obsah

Klíčový rozdíl mezi agregací a kompozicí spočívá v tom, že v agregaci existuje vztah mezi rodičem a dítětem, ve kterém dítě může existovat nezávisle, zatímco složení je vztah mezi rodičem a dítětem, ve kterém dítě nemůže existovat nezávisle bez rodiče.


Přidružení je velmi důležitý koncept v objektově orientovaném programování. V objektově orientovaném programování jsou data skryta před nečlenskými funkcemi třídy. Data mohou používat pouze členská funkce třídy. Jakákoli nečlenská funkce může upravovat data, která jsou uvnitř funkční třídy. Objekt a třídy jsou hlavní koncepty objektově orientovaného programování. Zapouzdření dat, které je také známé jako abstrakce a dědičnost, je také dosaženo v objektově orientovaném programování. Agregace a složení jsou typy asociací a jsou velmi důležitým konceptem v objektově orientovaném programování. V souhrnu existuje vztah rodič - dítě, ve kterém dítě může existovat nezávisle, zatímco složení je vztah rodič - dítě, ve kterém dítě nemůže existovat nezávisle bez rodiče. Složení má společné paradigma v objektově orientovaném programování, které je při vývoji softwaru velmi důležité. Omezující forma asociace je kompozice, ve které existuje vztah rodič-dítě, ve kterém dítě nemůže existovat samostatně bez rodičů. V UML je představován malým pevným diamantem.


Ve složení může být základní část spojena s většinou v sestavě. Jedna třída se stane kontejnerem a druhá třída se stane obsahem, který je v tomto kontejneru. Ta mají dědičnou část velmi snadnou a metodu jedné třídy lze použít, aniž byste museli celý kód znovu psát. Ve složení existuje „část“ vztahu. Agregace je vztah s třídou shromáždění k třídě základní. V UML je unifikovaný modelovací jazyk, který ukazuje agregační vztah s úsečkou. Agregace ukazuje vztah, jako je jeden na jednoho, jeden na mnoho, mnoho na mnoho. Pokud jedna třída má více tříd, existuje jeden až mnoho vztahů, zatímco mnoho tříd má více objektů, je to vztah mnoho k jednomu. „Má“ je vztah, který je popsán v agregaci.

Obsah: Rozdíl mezi agregací a složením

  • Srovnávací tabulka
  • Co je agregace?
  • Klíčové rozdíly
  • Závěr
  • Vysvětlující video

Srovnávací tabulka

ZákladAgregace Složení
VýznamV souhrnu existuje vztah rodič-dítě, ve kterém může dítě existovat nezávisle

Kompozice je vztah rodič-dítě, ve kterém dítě nemůže existovat nezávisle bez rodiče.


 

SdruženíV agregaci existuje slabá asociace.Ve složení je silná asociace.
UMLV UML lze agregaci definovat pomocí segmentu linkyV UML lze složení definovat pomocí diamantu.
FunkceOdstranění sestavy nemá žádný vliv na agregaci.Odstranění kompozice může mít vliv na kompozici

Co je agregace?

Agregace je vztah s třídou shromáždění k třídě základní. V UML je unifikovaný modelovací jazyk, který ukazuje agregační vztah s úsečkou. Agregace ukazuje vztah, jako je jeden na jednoho, jeden na mnoho, mnoho na mnoho. Pokud jedna třída má více tříd, existuje jeden až mnoho vztahů, zatímco mnoho tříd má více objektů, je to vztah mnoho k jednomu. „Má“ je vztah, který je popsán v agregaci.

Co je složení?

Omezující forma asociace je kompozice, ve které existuje vztah rodič-dítě, ve kterém dítě nemůže existovat samostatně bez rodičů. V UML je představován malým pevným diamantem. Ve složení může být základní část spojena s většinou v sestavě. Jedna třída se stane kontejnerem a druhá třída se stane obsahem, který je v tomto kontejneru. To má dědičnou část velmi snadnou a metodu jedné třídy lze použít bez opětovného zápisu celého kódu. Ve složení existuje „část“ vztahu.

Klíčové rozdíly

  1. V souhrnu existuje vztah mezi rodičem a dítětem, ve kterém dítě může existovat nezávisle, zatímco Složení je vztah mezi rodičem a dítětem, ve kterém dítě nemůže existovat nezávisle bez rodiče.
  2. V agregaci existuje slabá asociace, zatímco v kompozici existuje silná asociace, zatímco v kompozici je silná asociace.
  3. V UML lze agregaci definovat pomocí segmentu čáry, zatímco v UML lze definovat složení pomocí diamantu.
  4. Delece sestavy nemá žádný účinek na agregaci, zatímco delece kompozice může mít vliv na kompozici

Závěr

V tomto článku výše vidíme jasný rozdíl mezi agregací a kompozicí s příklady.

Vysvětlující video