Razlika između agregacije i kompozicije u Javi

Sadržaj:

Razlika između agregacije i kompozicije u Javi
Razlika između agregacije i kompozicije u Javi

Video: Razlika između agregacije i kompozicije u Javi

Video: Razlika između agregacije i kompozicije u Javi
Video: Нормальная концентрация раствора. Нормальность (Сн). Решение задач. 2024, Juli
Anonim

Ključna razlika – agregacija naspram kompozicije u Javi

Agregacija je asocijacija između dva objekta koja opisuje odnos "ima-a". Sastav je specifičnija vrsta agregacije koja podrazumijeva vlasništvo. Ključna razlika između agregacije i kompozicije u Javi je ta da, ako sadržani objekt može postojati bez postojanja vlasničkog objekta, to je agregacija, a ako sadržani objekt ne može postojati bez postojanja vlasničkog objekta, to je kompozicija.

Objektno orijentirano programiranje (OOP) je glavna paradigma u razvoju softvera. Koristi se za modeliranje softvera pomoću objekata. Objekti se kreiraju pomoću klasa. Klasa se sastoji od svojstava i metoda. Postoji više objekata u softveru. Svaki objekat sarađuje jedni s drugima putem prosljeđivanja poruka. Odnos između dva objekta poznat je kao asocijacija. I agregacija i sastav su dvije vrste asocijacija. Odnos “ima-a” opisuje da jedan objekt može koristiti drugi objekt. Agregacija i kompozicija se mogu implementirati na jezicima koji podržavaju OOP. Ako sadržani objekt može postojati bez postojanja vlasničkog objekta, onda je asocijacija između ta dva objekta agregacija. Ako sadržani objekt ne može postojati bez postojanja vlasničkog objekta, onda je asocijacija između ta dva objekta kompozicija.

Šta je agregacija u Javi?

Agregacija je vrsta asocijacije. Ako klasa ima referencu entiteta, to je poznato kao agregacija. Agregacija predstavlja odnos ima-odnos. Studentski objekat može imati svojstva kao što su student_id, ime, adresa. Ovaj objekat takođe može imati drugi objekat koji se zove adresa sa sopstvenim informacijama kao što su grad, država, država. U ovoj situaciji, učenik ima referentnu adresu entiteta. To je odnos "ima-a".

Razlika između agregacije i kompozicije u Javi
Razlika između agregacije i kompozicije u Javi

Slika 01: Klasa oznaka

Razlika između agregacije i kompozicije u Javi
Razlika između agregacije i kompozicije u Javi

Slika 02: Glavni program za opisivanje agregacije

Prema gorenavedenom programu, klasa Oznake se sastoji od tri svojstva koja su matematički, engleski i naučni znaci. Učenik ima objekt Ocjene. Ima svoja svojstva koja su oznake matematike, engleskog i nauke. U glavnoj metodi kreira se objekat Marks i dodeljuju se vrednosti oznaka. Studentski objekat koji je s1 može koristiti objekt oznake koji je m1. Stoga, učenik i ocjene imaju odnos „ima-ima“. Objekt Marks može postojati bez objekta Student. Dakle, to je agregacija.

Šta je kompozicija u Javi?

Kompozicija je vrsta asocijacije. To je specifičan oblik agregacije koji podrazumijeva vlasništvo. Pretpostavimo da postoje dvije klase koje se zovu klasa A i B. Ako objekt klase B ne može postojati ako je objekt klase A uništen, onda je to kompozicija. Knjiga se sastoji od mnogo stranica. Ako je knjiga uništena, uništiće se i stranice. Objekti stranice ne mogu postojati bez objekta knjige. Pogledajte program ispod.

Razlika između agregacije i kompozicije u Javi_slika 03
Razlika između agregacije i kompozicije u Javi_slika 03

Slika 03: Učionica

Razlika između agregacije i kompozicije u Javi_slika 04
Razlika između agregacije i kompozicije u Javi_slika 04

Slika 04: Školski razred

Ključna razlika između agregacije i kompozicije u Javi
Ključna razlika između agregacije i kompozicije u Javi

Slika 05: Glavni program za opisivanje kompozicije

Prema gore navedenom programu, Učionica ima dva svojstva koja su ime i broj učenika. Škola je zbirka predmeta Učionice. U glavnoj metodi kreiraju se dva objekta Classroom. One se dodaju u 'učionice'. Ove 'učionice' se prenose na školski objekat. Konačno, ime učionice i broj učenika se štampaju ponavljanjem kroz kolekciju. Ako je školski objekt uništen, uništit će se i objekti učionice. Ovo je primjer kompozicije. Takođe sadrži odnos 'ima-a' i također implicira vlasništvo.

Kakav je odnos između agregacije i kompozicije u Javi?

Agregacija i Kompozicija su dvije vrste Asocijacije, a Kompozicija je specijalizirana vrsta Agregacije. Kompozicija je podskup agregacije

Koja je razlika između agregacije i kompozicije u Javi?

Agregacija u odnosu na kompoziciju u Javi

Agregacija je asocijacija između dva objekta koja opisuje odnos "ima". Kompozicija je specifičnija vrsta agregacije koja implicira vlasništvo.
Upotreba
Agregacija se koristi kada jedan objekat koristi drugi objekat. Kompozicija se koristi kada jedan objekt posjeduje drugi objekt.
Uticaj na objekte
U agregaciji, uništavanje objekta koji posjeduje neće utjecati na objekt koji ga sadrži. U kompoziciji, uništavanje vlasničkog objekta će uticati na objekat koji sadrži.

Sažetak – Agregacija u odnosu na kompoziciju u Javi

Agregacija i Kompozicija su dva koncepta u OOP-u. Odnos “ima-a” opisuje da jedan objekt može koristiti drugi objekt. Agregacija je asocijacija između dva objekta koja opisuje odnos “ima-a”. Kompozicija je specifičnija vrsta agregacije koja implicira vlasništvo. Razlika između agregacije i kompozicije u Javi je u tome što, ako sadržani objekt može postojati bez postojanja vlasničkog objekta, to je agregacija, a ako sadržani objekt ne može postojati bez postojanja vlasničkog objekta, to je kompozicija.

Preporučuje se: