Rozdíl mezi agregací a kompozicí v Javě

Obsah:

Rozdíl mezi agregací a kompozicí v Javě
Rozdíl mezi agregací a kompozicí v Javě

Video: Rozdíl mezi agregací a kompozicí v Javě

Video: Rozdíl mezi agregací a kompozicí v Javě
Video: Java: Object-Oriented Programming Concepts: Associations, Aggregation & Composition| packtpub.com 2024, Červenec
Anonim

Klíčový rozdíl – agregace versus kompozice v Javě

Agregace je spojení mezi dvěma objekty, které popisuje vztah „má-a“. Složení je specifičtější typ agregace, který implikuje vlastnictví. Klíčový rozdíl mezi agregací a kompozicí v Javě je v tom, že pokud obsažený objekt může existovat bez existence vlastnického objektu, jedná se o agregaci, a pokud obsažený objekt nemůže existovat bez existence vlastnického objektu, jedná se o kompozici..

Object-Oriented Programming (OOP) je hlavní paradigma ve vývoji softwaru. Používá se k modelování softwaru pomocí objektů. Objekty jsou vytvořeny pomocí tříd. Třída se skládá z vlastností a metod. V softwaru je více objektů. Každý objekt spolu spolupracuje prostřednictvím předávání zpráv. Vztah mezi dvěma objekty je známý jako asociace. Agregace i kompozice jsou dva typy asociací. Vztah „má-a“popisuje, že jeden objekt může používat jiný objekt. Agregaci a kompozici lze implementovat v jazycích podporujících OOP. Pokud obsažený objekt může existovat bez existence vlastnického objektu, pak je spojení mezi těmito dvěma objekty agregací. Pokud obsažený objekt nemůže existovat bez existence vlastněného objektu, pak spojení mezi těmito dvěma objekty je kompozice.

Co je agregace v Javě?

Agregace je typ asociace. Pokud má třída odkaz na entitu, nazývá se to agregace. Agregace představuje vztah has-a. Objekt Student může mít vlastnosti jako student_id, jméno, adresa. Tento objekt může mít také jiný objekt s názvem 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“.

Rozdíl mezi agregací a kompozicí v Javě
Rozdíl mezi agregací a kompozicí v Javě

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

Rozdíl mezi agregací a kompozicí v Javě
Rozdíl mezi agregací a kompozicí v Javě

Obrázek 02: Hlavní program pro popis agregace

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

Co je kompozice v Javě?

Složení je druh asociace. Je to specifická forma agregace, která implikuje vlastnictví. Předpokládejme, že existují dvě třídy nazývané třída A a B. Pokud objekt třídy B nemůže existovat, pokud je objekt třídy A zničen, pak je to kompozice. Kniha se skládá z mnoha stránek. Pokud je zničena kniha, zničí se i stránky. Objekty stránky nemohou existovat bez objektu book. Viz níže uvedený program.

Rozdíl mezi agregací a kompozicí v Java_Obrázek 03
Rozdíl mezi agregací a kompozicí v Java_Obrázek 03

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

Rozdíl mezi agregací a kompozicí v Java_Obrázek 04
Rozdíl mezi agregací a kompozicí v Java_Obrázek 04

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

Klíčový rozdíl mezi agregací a kompozicí v Javě
Klíčový rozdíl mezi agregací a kompozicí v Javě

Obrázek 05: Hlavní program pro popis kompozice

Podle výše uvedeného programu má Učebna dvě vlastnosti, kterými jsou name a numOfStudents. Škola je sbírka předmětů třídy. V hlavní metodě se vytvoří dva objekty třídy. Ty se přidávají do ‚učeben‘. Tyto ‚učebny‘přecházejí do objektu školy. Nakonec se vytiskne název třídy a počet studentů iterací v kolekci. Pokud je zničen objekt Škola, zničí se také objekty třídy. Toto je příklad kompozice. Obsahuje také vztah „má-a“a také implikuje vlastnictví.

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

Agregace a kompozice jsou dva typy asociace a kompozice je specializovaný typ agregace. Kompozice je podmnožinou agregace

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

Agregace versus kompozice v Javě

Agregace je spojení mezi dvěma objekty, které popisuje vztah „má a“. Složení je specifičtější typ agregace, která implikuje vlastnictví.
Použití
Agregace se používá, když jeden objekt používá jiný objekt. Složení se používá, když jeden objekt vlastní jiný objekt.
Vliv na objekty
V souhrnu neovlivní zničení vlastněného objektu objekt obsahující. V kompozici ovlivní zničení vlastněného objektu objekt, který jej obsahuje.

Shrnutí – agregace vs složení v Javě

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

Doporučuje: