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ým rozdílem mezi agregací a kompozicí v Javě je to, ž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í .

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 vlastnené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“.

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 to 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 předmět třídy A zničen, jedná se o složení. 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.

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 název třídy a počet studentů vytisknou 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é zahrnuje vlastnictví.

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


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

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

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 v tom, ž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