Diferența dintre agregare și compoziție

Cuprins:

Diferența dintre agregare și compoziție
Diferența dintre agregare și compoziție

Video: Diferența dintre agregare și compoziție

Video: Diferența dintre agregare și compoziție
Video: Framework sau Librărie? Asemănări, diferențe și exemple 2024, Iulie
Anonim

Diferența cheie – agregare vs compoziție

Programarea orientată pe obiecte (OOP) este o paradigmă comună în dezvoltarea de software. Obiectul este o instanță a unei clase. Nu este posibil să creați obiecte deodată. Ar trebui să existe un plan sau o descriere pentru a crea un obiect. Acest plan este cunoscut ca o clasă. O clasă conține proprietăți și metode. Obiectele sunt create folosind clase. Clasa și obiectul sunt similare cu un plan și o casă din lumea reală. Nu este posibil să construiești o casă fără un plan adecvat. De asemenea, o clasă este folosită pentru a crea un obiect. Un obiect colaborează cu alte obiecte. O legătură cu reprezintă relația dintre două sau mai multe obiecte este numită „asociere”. Agregarea și compoziția sunt tipuri de asociații. Ele descriu relația dintre clase. Acest articol discută diferența dintre agregare și compoziție. Diferența cheie dintre agregare și compoziție este că agregarea este o asociere între două obiecte care descrie relația „are o” iar compoziția este un tip mai specific de agregare care implică proprietate.

Ce este agregarea?

O relație între două obiecte este afișată prin trasarea unei linii în Unified Modeling Language (UML). Link-ul este o asociație. UML ajută la obținerea unei reprezentări vizuale a sistemului. Este diferit de limbajele obișnuite de programare. Asocierea definește și multiplicitatea obiectelor. Sunt unu-la-unu, unu-la-mulți și mulți-la-mulți. Când un singur obiect din clasa A este asociat cu un singur obiect din clasa B, aceasta este o relație unu-la-unu. Un exemplu este un autor care scrie o carte. În acest exemplu, un autor scrie o carte.

Când un obiect din clasa A este asociat cu mai multe obiecte din clasa B, este o relație unu-la-mai multe. Un exemplu este că un departament poate avea mulți angajați. Când obiectul clasei A este asociat cu multe obiecte din clasa B și un obiect din clasa B este asociat cu multe obiecte din clasa A, este o asociere multi-la-mulți. Un exemplu este că un angajat poate lucra la mai multe proiecte, iar un proiect poate avea mai mulți angajați.

Agregarea este o asociere de tip care descrie în continuare relația dintre obiecte. Agregarea descrie „are o” relație. Câteva exemple care descriu relația sunt: un student „are un” id de student, un vehicul „are un” motor. De asemenea, se poate extinde o cantitate mare cu relația. Câteva exemple sunt, o bancă „are multe” conturi bancare, o clasă „are mulți” studenți. Poate fi explicat folosind exemplul de mai jos.

Diferența dintre agregare și compoziție
Diferența dintre agregare și compoziție

Figura 01: Agregare

Conform exemplului de mai sus, sala de clasă este formată dintr-un elev sau mai mulți elevi. Multiplicitatea este folosită și pentru a indica numărul de obiecte. Descrie faptul că o clasă are mai mulți elevi. Simbolul diamantului reprezintă agregarea în UML. Obiectele student nu se bazează pe obiectul clasei. Dacă obiectul clasei este distrus, acesta nu va afecta obiectele elevilor. Aceste obiecte vor mai exista.

Ce este compoziția?

Compoziția este o formă mai specifică de agregare. Descrie proprietatea. Poate fi explicat folosind exemplul de mai jos.

Diferența cheie între agregare și compoziție
Diferența cheie între agregare și compoziție

Figura 02: Compoziție

Conform celor de mai sus, obiectul carte este format din obiect sau pagini. Multiplicitatea este folosită și pentru a indica numărul de obiecte. Descrie faptul că o clasă are mai mulți elevi. Simbolul diamantului care este evidențiat reprezintă compoziția în UML. Deoarece cartea are o pagină sau mai multe pagini, este o agregare, dar este mai specificată. Dacă obiectul carte este distrus, atunci și obiectele paginii sunt distruse. Obiectele pagină nu pot exista fără obiectul carte. Prin urmare, compoziția este o formă mai specifică de agregare care implică proprietate.

Care sunt asemănările dintre agregare și compoziție?

  • Ambele sunt folosite în programarea orientată pe obiecte.
  • Ambele sunt folosite în limbajul de modelare unificat (UML) pentru a obține o înțelegere vizuală a sistemului.

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

Agregare vs compoziție

Agregarea este o asociere între două obiecte care descrie relația „are o”. Compoziția este cel mai specific tip de agregare care implică proprietate.
Simbol UML
Agregarea este notată cu un diamant. Compoziția este indicată de un diamant evidențiat.
Funcționalitate
În agregare, dacă obiectul deținător este distrus, acesta nu va afecta obiectul care îl conține. În compoziție, dacă obiectul deținător este distrus, acesta va afecta obiectul care îl conține.

Rezumat – agregare vs compoziție

Programarea orientată pe obiecte este o paradigmă majoră în dezvoltarea de software. În OOP, sistemul este modelat folosind obiecte. Aceste obiecte nu există izolat. Obiectele colaborează cu alte obiecte. Relația dintre obiecte este cunoscută ca asociere. Agregarea și compoziția sunt tipuri de asociere. Diferența dintre agregare și compoziție este că agregarea este o asociere între două obiecte care descrie relația „are a” și compoziția este tipul mai specific de agregare care implică proprietate. Ambele agregarea și compoziția ajută la înțelegerea comportamentului sistemului.

Descărcați versiunea PDF de agregare vs compoziție

Puteți descărca versiunea PDF a acestui articol și o puteți utiliza în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre agregare și compoziție

Recomandat: