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: Stări de agregare ale corpurilor - lecție de științe ale naturii 2024, Mai
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 simultan. Ar trebui să existe un plan sau o descriere pentru a crea un obiect. Acel 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ă construiți o casă fără un plan adecvat. La fel, o clasă este utilizată pentru a crea un obiect. Un obiect colaborează cu alte obiecte. O legătură cu reprezintă relația a 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 dintre agregare și compoziție este că agregarea este o asociere între două obiecte care descrie relația „are o” relație și compoziția este un tip mai specific de agregare care implică proprietatea.

CUPRINS

1. Prezentare generală și diferența cheie

2. Ce este agregarea

3. Ce este compoziția

4. Asemănări între agregare și compoziție

5. Comparație side by side - Agregare vs compoziție în formă tabelară

6. Rezumat

Ce este agregarea?

O relație între două obiecte este prezentată prin trasarea unei linii în Unified Modeling Language (UML). Legătura este o asociație. UML ajută la obținerea unei reprezentări vizuale a sistemului. Este diferit de limbajele de programare obișnuite. Asocierea definește, de asemenea, multiplicitatea obiectelor. Sunt unu-la-unu, unu-la-mulți și mulți-la-mulți. Atunci când un singur obiect din clasa A este asociat cu obiectul unic 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 multe obiecte din clasa B, este o relație de la unu la mulți. 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 de la mulți 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 relația „are o”. Câteva exemple care descriu relația sunt: un student „are” un cod de student, un vehicul „are” un motor. De asemenea, este 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. 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 mulți studenți. Multiplicitatea este, de asemenea, utilizată pentru a indica numărul de obiecte. Descrie că o clasă are mai mulți elevi. Simbolul diamantului reprezintă agregarea în UML. Obiectele studențești nu se bazează pe obiectul clasei. Dacă obiectul clasei este distrus, acesta nu va afecta obiectele elevului. Aceste obiecte vor exista în continuare.

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 dintre agregare și compoziție
Diferența cheie dintre agregare și compoziție

Figura 02: Compoziție

Conform celor de mai sus, obiectul de carte este format din obiect sau pagini. Multiplicitatea este, de asemenea, utilizată pentru a indica numărul de obiecte. Descrie 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 de carte este distrus, atunci și obiectele de pagină sunt distruse. Obiectele de pagină nu pot exista fără obiectul de carte. Prin urmare, compoziția este o formă mai specifică de agregare care implică proprietatea.

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

  • Ambele sunt utilizate în programarea orientată pe obiecte.
  • Ambele sunt utilizate în Unified Modeling Language (UML) pentru a obține o înțelegere vizuală a sistemului.

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

Difuzarea articolului din mijloc înainte de tabel

Agregare vs Compoziție

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

Rezumat - Agregare vs Compoziție

Programarea orientată pe obiecte este o paradigmă majoră în dezvoltarea de software. În POO, sistemul este modelat folosind obiecte. Aceste obiecte nu există izolat. Obiectele colaborează cu alte obiecte. Relația dintre obiecte este cunoscută sub numele de 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 o” relație și compoziția este tipul mai specific de agregare care implică proprietatea. Agregarea și compoziția ambele 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 folosi în scopuri offline, conform notei de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre agregare și compoziție

Recomandat: