Diferența dintre agregare și compoziție în Java

Diferența cheie - agregare vs Compoziţie în Java

Agregarea este o asociere între două obiecte care descrie relația "a-a". Compoziția este cel mai specific tip de agregare care implică proprietatea. diferența cheie între agregare și compoziție în Java este asta, dacă obiectul conținut poate exista fără existența obiectului propriu, este o agregare și dacă obiectul conținut nu poate exista fără existența obiectului propriu, este o compoziție.

Programarea orientată pe obiecte (OOP) este o paradigmă majoră în dezvoltarea de software. Este folosit pentru a modela software-ul folosind obiecte. Obiectele sunt create folosind clase. O clasă constă din proprietăți și metode. Există mai multe obiecte în software. Fiecare obiect colaborează reciproc prin transmiterea mesajelor. Relația dintre două obiecte este cunoscută ca o asociere. Atât agregarea, cât și compoziția sunt două tipuri de asociere. Relația "a-a" descrie că un obiect poate folosi un alt obiect. Agregarea și compoziția pot fi implementate în limbile de sprijin pentru OOP. Dacă obiectul conținut poate exista fără existența obiectului proprietar, atunci asocierea dintre cele două obiecte este o agregare. Dacă obiectul conținut nu poate exista fără existența obiectului propriu, atunci asocierea dintre cele două obiecte este o compoziție.

CUPRINS

1. Prezentare generală și diferență cheie
2. Ce este agregarea în Java
3. Ce este compunerea în Java
4. Asemănări între agregare și compoziție în Java
5. Comparație comparativă comparativă - Agregare vs compoziție în Java în formă tabulară
6. rezumat

Ce este agregarea în Java?

Agregarea este un tip de asociere. Dacă o clasă are o referință a entității, aceasta este cunoscută ca agregare. Agregarea reprezintă relația are-o. Un obiect Student poate avea proprietăți precum student_id, nume, adresă. Acest obiect poate avea și un alt obiect denumit adresă cu informații proprii, cum ar fi orașul, statul, țara. În această situație, studentul are o adresă de referință a entității. Este o relație "a-a".

Figura 01: Clasa mărcilor

Figura 02: Programul principal pentru descrierea agregării

În conformitate cu programul de mai sus, clasa Marks constă din trei proprietăți care sunt mărci matematice, engleză și știință. Studentul are obiectul Marks. Are proprietăți proprii, care sunt note de matematică, engleză și știință. În metoda principală, se creează un obiect al mărcilor și sunt atribuite valori de marcă. Obiectul elevului care este s1 poate folosi obiectul mărcilor care este m1. Prin urmare, Studentul și Marks au relația "a-a". Obiectul Marks poate exista fără obiectul Student. Prin urmare, este o agregare.

Ce este compunerea în Java?

Compoziția este un tip de asociere. Este o formă specifică de agregare care implică proprietatea. Să presupunem că există două clase numite clase A și B. Dacă obiectul clasei B nu poate exista dacă obiectul clasei A este distrus, atunci aceasta este o compoziție. O carte conține mai multe pagini. În cazul în care cartea este distrusă, paginile vor fi, de asemenea, distruse. Obiectele de pagină nu pot exista fără obiectul cărții. Consultați programul de mai jos.

Figura 03: Clasa de clasă

Figura 04: Clasa școlară

Figura 05: Programul principal pentru descrierea compoziției

În conformitate cu programul de mai sus, clasa are două proprietăți care sunt numele și numOfStudents. Școala este o colecție de obiecte din clasă. În metoda principală, sunt create două obiecte din clasă. Acestea sunt adăugate în "sălile de clasă". Aceste "săli de clasă" sunt transmise obiectului școlar. În cele din urmă, numele clasei și numărul studenților sunt tipărite prin iterarea prin colecție. Dacă obiectul Școlii este distrus, obiectele din clasă vor distruge. Acesta este un exemplu de compoziție. Acesta conține, de asemenea, relația "a-a" și implică, de asemenea, proprietatea.

Care este relația dintre agregare și compoziție în Java?

  • Agregarea și compoziția sunt două tipuri de asociere, iar compoziția este un tip special de agregare. Compoziția este un subset de agregare.

Care este diferența dintre agregare și compoziție în Java?

Agregarea vs compoziția în Java

Agregarea este o asociere între două obiecte care descrie relația "are un". Compoziția este un tip mai specific de agregare care implică proprietatea.
 folosire
Agregarea este utilizată atunci când un obiect folosește un alt obiect. Compoziția este utilizată atunci când un obiect deține un alt obiect.
Afectează obiectele
În agregare, distrugerea obiectului de proprietate nu va afecta obiectul care conține. În compoziție, distrugerea obiectului proprietar va afecta obiectul care conține.

Rezumat - Agregare vs Compoziţie în Java

Agregarea și compoziția sunt două concepte în PLO. Relația "a-a" descrie că un obiect poate folosi un alt obiect. Agregarea este o asociere între două obiecte care descrie relația "a-a". Compoziția este un tip mai specific de agregare care implică proprietatea. Diferența dintre agregarea și compoziția în Java este că, dacă obiectul conținut poate exista fără existența obiectului de proprietate, este o agregare și dacă obiectul conținut nu poate exista fără existența obiectului propriu, este o compoziție.

Referinţă:

1. "Asocierea, compoziția și agregarea în Java". GeeksforGeeks, 8 februarie 2018. Disponibil aici 
2. "Agregarea în Java - Javatpoint". Punctul Java. Disponibil aici