Különbség az aggregáció és a kompozíció között a Java nyelven

Tartalomjegyzék:

Különbség az aggregáció és a kompozíció között a Java nyelven
Különbség az aggregáció és a kompozíció között a Java nyelven

Videó: Különbség az aggregáció és a kompozíció között a Java nyelven

Videó: Különbség az aggregáció és a kompozíció között a Java nyelven
Videó: Java: Object-Oriented Programming Concepts: Associations, Aggregation & Composition| packtpub.com 2024, December
Anonim

Kulcskülönbség – Összesítés vs kompozíció Java-ban

Az aggregáció két objektum közötti asszociáció, amely leírja a „has-a” kapcsolatot. Az összetétel a tulajdonjogot feltételező összesítés specifikusabb típusa. A legfontosabb különbség az aggregáció és a kompozíció között a Java-ban az, hogy ha a tartalmazott objektum létezhet a tulajdonos objektum létezése nélkül, akkor az aggregáció, és ha a tartalmazott objektum nem létezhet a tulajdonos objektum létezése nélkül, akkor az egy kompozíció..

Az objektum-orientált programozás (OOP) a szoftverfejlesztés egyik fő paradigmája. A szoftver objektumok segítségével történő modellezésére szolgál. Az objektumok osztályok segítségével jönnek létre. Egy osztály tulajdonságokból és metódusokból áll. A szoftverben több objektum is található. Mindegyik objektum együttműködik egymással az üzenettovábbításon keresztül. A két objektum közötti kapcsolatot asszociációnak nevezzük. Mind az aggregáció, mind az összetétel kétféle asszociáció. A „has-a” kapcsolat azt írja le, hogy egy objektum használhat egy másik objektumot. Az aggregáció és az összeállítás OOP-támogató nyelveken valósítható meg. Ha a tartalmazott objektum létezhet a tulajdonos objektum léte nélkül, akkor a két objektum közötti társítás aggregáció. Ha a tartalmazott objektum nem létezhet a tulajdonos objektum létezése nélkül, akkor a két objektum közötti társítás egy kompozíció.

Mi az aggregáció a Java nyelven?

Az aggregáció az asszociáció egy fajtája. Ha egy osztálynak van entitáshivatkozása, azt összesítésnek nevezzük. Az aggregáció a van-a kapcsolatot képviseli. A Student objektumnak lehetnek olyan tulajdonságai, mint a tanulói_azonosító, név, cím. Ennek az objektumnak lehet egy másik cím nevű objektuma is, saját információival, például várossal, állammal, országgal. Ebben a helyzetben a hallgatónak van egy entitás hivatkozási címe. Ez egy „van-a” kapcsolat.

Különbség az aggregáció és a összetétel között a Java nyelven
Különbség az aggregáció és a összetétel között a Java nyelven

01. ábra: Osztály jelölései

Különbség az aggregáció és a összetétel között a Java nyelven
Különbség az aggregáció és a összetétel között a Java nyelven

02. ábra: Az aggregáció leírására szolgáló fő program

A fenti program szerint a Marks osztály három tulajdonságból áll, ezek a matematika, az angol és a természettudományos jegyek. A tanulónak van egy Marks tárgya. Megvannak a maga tulajdonságai, amelyek a matematika, az angol és a természettudomány jegyei. A fő metódusban létrejön egy Marks objektum, és hozzárendelődik a jelölések értéke. Az s1 tanuló objektum használhatja az m1 marks objektumot. Ezért a Diák és a Jelek között „van-a” kapcsolat van. A Marks objektum létezhet a Student Object nélkül is. Ezért ez egy összesítés.

Mi a kompozíció a Java nyelvben?

A kompozíció egyfajta asszociáció. Ez az összesítés egy sajátos formája, amely tulajdonjogot jelent. Tételezzük fel, hogy két osztály van, amelyeket A és B osztálynak neveznek. Ha a B osztály objektuma nem létezhet, ha az A osztályba tartozó objektum megsemmisül, akkor ez egy kompozíció. Egy könyv sok oldalból áll. Ha a könyv megsemmisül, az oldalak is megsemmisülnek. Az oldalobjektumok nem létezhetnek a könyv objektum nélkül. Tekintse meg az alábbi programot.

Különbség az aggregáció és a kompozíció között a Java-ban_03. ábra
Különbség az aggregáció és a kompozíció között a Java-ban_03. ábra

03. ábra: Tantermi osztály

Különbség az aggregáció és a kompozíció között a Java-ban_4. ábra
Különbség az aggregáció és a kompozíció között a Java-ban_4. ábra

04. ábra: Iskolai osztály

Legfontosabb különbség a Java összesítése és összetétele között
Legfontosabb különbség a Java összesítése és összetétele között

05. ábra: Fő program a kompozíció leírásához

A fenti program szerint a Tanteremnek két tulajdonsága van, ezek a neve és a tanulók száma. Az iskola az osztálytermi tárgyak gyűjteménye. A fő módszerben két osztálytermi objektum jön létre. Ezeket hozzáadják az „tantermekhez”. Ezeket az „osztálytermeket” átadják az iskolai objektumnak. Végül az osztálytermek nevét és a tanulók számát a gyűjtemény iterálásával nyomtatjuk ki. Ha az Iskola objektum megsemmisül, az Osztályterem objektumai is megsemmisülnek. Ez egy példa a kompozícióra. Tartalmazza a „has-a” kapcsolatot is, és tulajdonjogot is magában foglal.

Mi a kapcsolat az aggregáció és a kompozíció között a Java nyelven?

Az aggregáció és az összeállítás az asszociáció két típusa, a kompozíció pedig az összesítés speciális típusa. A kompozíció az összesítés egy részhalmaza

Mi a különbség a Java összesítése és összetétele között?

Aggregáció vs kompozíció Java-ban

Az aggregáció két objektum közötti asszociáció, amely leírja a „van egy” kapcsolatot. Az összetétel az összesítés egy specifikusabb típusa, amely tulajdonjogot feltételez.
Használat
Aggregációt akkor használunk, ha egy objektum egy másik objektumot használ. A kompozíció akkor használatos, ha egy objektum birtokol egy másik objektumot.
Objektumokra gyakorolt hatás
Aggregációban a tulajdonos objektum megsemmisítése nincs hatással a tartalmazó objektumra. A kompozícióban a tulajdonos objektum megsemmisítése hatással lesz a benne lévő objektumra.

Összefoglaló – Aggregáció vs kompozíció Java nyelven

Az aggregáció és a kompozíció két fogalom az OOP-ban. A „has-a” kapcsolat azt írja le, hogy egy objektum használhat egy másik objektumot. Az aggregáció két objektum közötti asszociáció, amely leírja a „has-a” kapcsolatot. A kompozíció az összesítés egy specifikusabb típusa, amely tulajdonjogot jelent. A Java-ban az aggregáció és a kompozíció közötti különbség az, hogy ha a tartalmazott objektum létezhet a tulajdonos objektum léte nélkül, akkor az aggregáció, és ha a tartalmazott objektum nem létezhet a tulajdonos objektum létezése nélkül, akkor az egy kompozíció.

Ajánlott: