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: Gene Regulation and the Order of the Operon 2024, Studeni
Anonim

Ključna razlika – agregacija naspram kompozicije u Javi

Agregacija je asocijacija između dva objekta koja opisuje odnos "ima-a". Kompozicija je specifičnija vrsta agregacije koja podrazumijeva vlasništvo. Ključna razlika između agregacije i kompozicije u Javi je 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 sastav..

Objektno orijentirano programiranje (OOP) glavna je paradigma u razvoju softvera. Koristi se za modeliranje softvera pomoću objekata. Objekti su kreirani pomoću klasa. Klasa se sastoji od svojstava i metoda. Postoji više objekata u softveru. Svaki objekt međusobno surađuje kroz prijenos poruka. Odnos između dva objekta poznat je kao asocijacija. I združivanje i sastav dvije su vrste asocijacije. Odnos "ima-a" opisuje da jedan objekt može koristiti drugi objekt. Agregacija i kompozicija mogu se implementirati u jezicima koji podržavaju OOP. Ako sadržani objekt može postojati bez postojanja vlasničkog objekta, tada je veza između ta dva objekta agregacija. Ako sadržani objekt ne može postojati bez postojanja objekta vlasnika, tada je veza između ta dva objekta sastav.

Što je agregacija u Javi?

Agregacija je vrsta udruživanja. Ako klasa ima referencu entiteta, to je poznato kao agregacija. Agregacija predstavlja odnos ima-ima. Studentski objekt može imati svojstva kao što su student_id, ime, adresa. Ovaj objekt također može imati drugi objekt koji se zove adresa s vlastitim informacijama kao što su grad, država, država. U ovoj situaciji, student ima referentnu adresu entiteta. To je odnos "ima-ima".

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 opis agregacije

Prema gore navedenom programu, razred Ocjene sastoji se od tri svojstva, a to su ocjene iz matematike, engleskog i prirodnih znanosti. Učenik ima predmet Marks. Ima svoja svojstva koja su obilježja matematike, engleskog i znanosti. U glavnoj metodi kreira se objekt Marks i dodjeljuju se vrijednosti oznaka. Objekt učenika koji je s1 može koristiti objekt oznaka koji je m1. Stoga, učenik i ocjene imaju odnos "ima-ima". Objekt Marks može postojati bez objekta Student. Dakle, to je agregacija.

Što 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 nazivaju 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. Uništi li se knjiga, uništit će se i stranice. Objekti stranice ne mogu postojati bez objekta knjige. Pogledajte donji program.

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

Slika 03: Razred u učionici

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 sastava

Prema gornjem programu, Učionica ima dva svojstva, a to su ime i broj učenika. Škola je zbirka predmeta u učionici. U glavnoj metodi kreiraju se dva objekta Učionica. One se dodaju u 'učionice'. Te se 'učionice' prenose na školski objekt. Na kraju, naziv učionice i broj učenika ispisuje se ponavljanjem kroz zbirku. Ako se školski objekt uništi, uništit će se i predmeti u učionici. Ovo je primjer sastava. Također sadrži odnos 'ima' i također implicira vlasništvo.

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

Agregacija i kompozicija dvije su vrste asocijacije, a kompozicija je specijalizirana vrsta agregacije. Sastav je podskup agregacije

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

Agregacija nasuprot kompoziciji u Javi

Agregacija je asocijacija između dva objekta koja opisuje odnos "ima". Sastav je specifičnija vrsta združivanja koja podrazumijeva vlasništvo.
Upotreba
Agregacija se koristi kada jedan objekt koristi drugi objekt. Kompozicija se koristi kada jedan objekt posjeduje drugi objekt.
Utjecaj na objekte
U agregaciji, uništavanje vlasničkog objekta neće utjecati na sadržajni objekt. U sastavu, uništavanje vlasničkog objekta utjecat će na sadržajni objekt.

Sažetak – Agregacija naspram kompozicije 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-ima". Sastav je specifičnija vrsta agregacije koja podrazumijeva 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čeni: