Diferența dintre agregare și compoziție

Diferența cheie - agregarea vs compoziția
 

Object-Oriented Programming (OOP) este o paradigmă comună în dezvoltarea de software. Obiectul este o instanță a unei clase. Nu este posibilă crearea de obiecte simultan. Ar trebui să existe un plan sau o descriere pentru a crea un obiect. Acest model este cunoscut ca o clasă. O clasă conține proprietăți și metode. Obiectele sunt create folosind clase. Clasa și obiectul sunt similare cu planul și casa din lumea reală. Nu este posibilă construirea unei case 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. Ei descriu relația dintre clase. Acest articol discută diferența dintre agregare și compoziție. diferența cheie între agregare și compoziție este asta agregarea este o asociere între două obiecte care descrie relația "are un" și compoziția este un tip mai specific de agregare care implică proprietatea.

CUPRINS

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

Ce este Agregarea?

O relație între două obiecte este arătată prin desenarea unei linii în limba unificată de modelare (UML). Legătura este o asociere. UML ajută la obținerea unei reprezentări vizuale a sistemului. Este diferită de limbile de programare obișnuite. Asociația definește de asemenea multitudinea de obiecte. Ele sunt unu-la-unu, unul-la-multe și multe-la-multe. Atunci când un singur obiect din clasa A este asociat cu singurul 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.

Atunci când un obiect din clasa A este asociat cu multe obiecte din clasa B, este o relație unu-la-multe. Un exemplu este că un departament poate avea mai 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 de la mulți la mulți. Un exemplu este că un angajat poate lucra pe mai multe proiecte și un proiect poate avea mai mulți angajați.

Agregarea este asocierea de tip care descrie în continuare relația dintre obiecte. Agregarea descrie relația "are o relație". Câteva exemple care descriu relația sunt, un student "are un" id student, un vehicul "are un" motor. Este, de asemenea, posibil să extindeți o cantitate mare cu relația. Câteva exemple sunt, o bancă "are multe" conturi bancare, o clasă "are mulți" studenți. Acesta poate fi explicat folosind exemplul de mai jos.

Figura 01: Agregare

În conformitate cu exemplul de mai sus, sala de clasă este formată dintr-un student sau de mulți studenți. Multiplicitatea este de asemenea folosită pentru a indica numărul de obiecte. Se descrie că o clasă are mai mulți studenți. Simbolul diamantului reprezintă agregarea în UML. Elementele elevului nu se bazează pe obiectul de clasă. Dacă obiectul de clasă este distrus, acesta nu va afecta obiectele studentului. Aceste obiecte vor mai exista.

Ce este compoziția?

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

Figura 02: Compoziție

Conform celor de mai sus, obiectul cărții constă în obiect sau pagini de pagină. Multiplicitatea este de asemenea folosită pentru a indica numărul de obiecte. Se descrie că o clasă are mai mulți studenți. Simbolul diamantului evidențiat reprezintă compoziția din UML. Deoarece cartea are o pagină sau mai multe pagini, este o agregare, dar este mai specificată. Dacă obiectele de carte sunt distruse, atunci obiectele de pagină se distrug. Obiectele de pagină nu pot exista fără obiectul cărții. Prin urmare, compoziția este o formă mai specifică a unei agregări care implică proprietatea.

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

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

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

Agregarea 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ă proprietatea.
 UML Simbol
Agregarea este notată cu un diamant. Compoziția este marcată de un diamant evidențiat.
Funcționalitate
În agregare, dacă obiectul propriu-zis este distrus, acesta nu va afecta obiectul care conține. În compoziție, dacă obiectul propriu-zis este distrus, acesta va afecta obiectul care conține.

rezumat - Agregarea vs. Compoziție 

Object-Oriented Programming este o paradigmă majoră în dezvoltarea de software. În PLO, 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 un" și compoziția este tipul de agregare mai specific care implică proprietatea. Agregarea și compoziția ajută la înțelegerea comportamentului sistemului.

Descărcați versiunea PDF a Agregării vs. Compoziție

Puteți descărca versiunea PDF a acestui articol și o puteți utiliza în scopuri offline conform notei de citare. Descărcați versiunea PDF aici Diferența dintre agregare și compunere

Referinţă:

1.tutorialspoint.com. "Model de obiect OOAD". Punctul. Disponibil aici  
2.6 5 Folosirea agregării și a compoziției, cariera oamenilor, 22 mai 2015. Disponibil aici