Rozdíl mezi agregací a skladbou v Javě

Klíčový rozdíl - agregace vs Složení v Javě

Agregace je asociace mezi dvěma objekty, která popisuje vztah „má-a“. Složení je konkrétnějším typem agregace, která zahrnuje vlastnictví. klíčový rozdíl mezi agregací a skladbou v Javě je to, pokud obsažený objekt může existovat bez existence vlastnického objektu, jedná se o agregaci a pokud uzavřený objekt nemůže existovat bez existence vlastneného objektu, jedná se o složení.

Objektově orientované programování (OOP) je hlavním vzorem ve vývoji softwaru. Používá se k modelování softwaru pomocí objektů. Objekty jsou vytvářeny pomocí tříd. Třída se skládá z vlastností a metod. V softwaru je více objektů. Každý objekt spolupracuje při předávání zpráv. Vztah mezi dvěma objekty se nazývá asociace. Agregace i složení jsou dva typy asociací. Vztah „má-a“ popisuje, že jeden objekt může použít jiný objekt. Agregaci a složení lze implementovat v jazycích podporujících OOP. Pokud obsažený objekt může existovat bez existence vlastnícího objektu, pak je asociací mezi těmito dvěma objekty agregace. Pokud obsažený objekt nemůže existovat bez existence vlastnícího objektu, pak je asociací mezi těmito dvěma objekty složení.

OBSAH

1. Přehled a klíčový rozdíl
2. Co je agregace v Javě
3. Co je složení v Javě
4. Podobnosti mezi agregací a skladbou v Javě
5. Porovnání bok po boku - agregace vs. složení v Javě v tabulkové formě
6. Shrnutí

Co je agregace v Javě?

Agregace je typ asociace. Pokud třída obsahuje odkaz na entitu, je znám jako agregace. Agregace představuje vztah has-a. Objekt Student může mít vlastnosti, jako je student_id, jméno, adresa. Tento objekt může mít také jiný objekt nazývaný adresa s vlastními informacemi, jako je město, stát, země. V této situaci má student referenční adresu entity. Je to vztah „má-a“.

Obrázek 01: Třída známek

Obrázek 02: Hlavní program pro popis agregace

Podle výše uvedeného programu se třídy Marks skládají ze tří vlastností, které jsou značky Maths, English a Science. Student má předmět Marks. Má své vlastní vlastnosti, které jsou známkami matematiky, angličtiny a vědy. V hlavní metodě je vytvořen objekt Značek a jsou přiřazeny hodnoty značek. Studentský objekt, který je s1, může použít objekt značek, který je m1. Student a známky mají tedy vztah „má-a“. Objekt Značky může existovat bez Studentského objektu. Jedná se tedy o agregaci.

Co je složení v Javě?

Složení je typ asociace. Je to specifická forma agregace, která vyžaduje vlastnictví. Předpokládejme, že existují dvě třídy zvané třída A a B. Pokud objekt třídy B nemůže existovat, pokud je objekt třídy A zničen, jedná se o kompozici. Kniha se skládá z mnoha stránek. Pokud je kniha zničena, stránky také zničí. Objekty stránky nemohou existovat bez objektu knihy. Viz níže uvedený program.

Obrázek 03: Třída ve třídě

Obrázek 04: Školní třída

Obrázek 05: Hlavní program pro popis složení

Podle výše uvedeného programu má Učebna dvě vlastnosti, které jsou jméno a numOfStudents. Škola je sbírka předmětů ve třídě. V hlavní metodě jsou vytvořeny dva objekty Učebny. Ty jsou přidány do „učeben“. Tyto „učebny“ jsou předávány do školního objektu. Nakonec se vytiskne název třídy a počet studentů iterací skrz sbírku. Pokud je školní objekt zničen, zničí se i objekty třídy. Toto je příklad složení. Obsahuje také vztah „má-a“ a také znamená vlastnictví.

Jaký je vztah mezi agregací a skladbou v Javě?

  • Agregace a složení jsou dva typy sdružení a složení je specializovaný typ agregace. Složení je podmnožinou agregace.

Jaký je rozdíl mezi agregací a skladbou v Javě?

Agregace vs Složení v Javě

Agregace je asociace mezi dvěma objekty, která popisuje vztah „má“. Složení je specifičtější typ agregace, který zahrnuje vlastnictví.
 Používání
Agregace se používá, když jeden objekt používá jiný objekt. Složení se používá, když jeden objekt vlastní jiný objekt.
Ovlivňují objekty
Při agregaci zničení vlastneného objektu neovlivní obsahující objekt. V kompozici zničení vlastneného objektu ovlivní obsahující objekt.

Shrnutí - agregace vs Složení v Javě

Agregace a složení jsou v OOP dva koncepty. Vztah „má-a“ popisuje, že jeden objekt může použít jiný objekt. Agregace je asociace mezi dvěma objekty, která popisuje vztah „má-a“. Složení je specifičtější typ agregace, který zahrnuje vlastnictví. Rozdíl mezi agregací a kompozicí v Javě je, že pokud obsažený objekt může existovat bez existence vlastnícího objektu, jedná se o agregaci a pokud obsažený objekt nemůže existovat bez existence vlastneného objektu, jedná se o složení.

Odkaz:

1. „Asociace, složení a agregace v Javě.“ GeeksforGeeks, 8. února 2018. K dispozici zde 
2. „Agregace v Javě - Javatpoint.“ Java Point. K dispozici zde