Aggregazione vs. composizione

Autore: Laura McKinney
Data Della Creazione: 4 Aprile 2021
Data Di Aggiornamento: 13 Maggio 2024
Anonim
8.11 Aggregation vs. Composition
Video: 8.11 Aggregation vs. Composition

Contenuto

La differenza chiave tra aggregazione e composizione è che nell'aggregazione esiste una relazione figlio-genitore in cui il figlio può esistere indipendentemente mentre la composizione è una relazione figlio-genitore in cui il figlio non può esistere indipendentemente senza un genitore.


L'associazione è un concetto molto importante nella programmazione orientata agli oggetti. Nella programmazione orientata agli oggetti i dati sono nascosti dalle funzioni non membri di una classe. Solo la funzione membro di una classe può utilizzare i dati. Qualsiasi funzione non membro può modificare i dati all'interno della classe di funzione. Oggetto e classi sono i concetti principali della programmazione orientata agli oggetti. L'incapsulamento dei dati, noto anche come astrazione ed ereditarietà, si ottiene anche nella programmazione orientata agli oggetti. Aggregazione e composizione sono tipi di associazione e sono un concetto molto importante nella programmazione orientata agli oggetti. In aggregazione, esiste una relazione figlio-genitore in cui un figlio può esistere indipendentemente mentre la composizione è una relazione figlio-genitore in cui un figlio non può esistere in modo indipendente senza un genitore. La composizione ha un paradigma comune nella programmazione orientata agli oggetti che è molto importante nello sviluppo del software. La forma restrittiva di associazione è una composizione in cui esiste una relazione figlio-genitore in cui il figlio non può esistere indipendentemente senza un genitore. In UML è rappresentato da un piccolo diamante solido.


Nella composizione, la parte costituente può essere collegata alla maggior parte in un assieme. Una classe diventa contenitore e l'altra classe diventa contenuto che si trova in quel contenitore. Che hanno una parte ereditaria molto semplice, e il metodo di una classe può essere usato senza nemmeno scrivere di nuovo l'intero codice. C'è una "parte di" relazione nella composizione. L'aggregazione è una relazione con una classe di assieme con una classe costituente. In UML è un linguaggio di modellazione unificato che mostra una relazione di aggregazione con un segmento di linea. Le relazioni di aggregazione mostrano come uno a uno, uno a molti, molti a molti. Se la singola classe ha più classi, esiste una o più relazioni mentre molte classi hanno più oggetti è la relazione molti a uno. "Has a" è una relazione descritta in aggregazione.

Contenuti: differenza tra aggregazione e composizione

  • Tabella di comparazione
  • Che cos'è l'aggregazione?
  • Differenze chiave
  • Conclusione
  • Video esplicativo

Tabella di comparazione

BaseAggregazione Composizione
SensoIn aggregazione, esiste una relazione figlio-genitore in cui il figlio può esistere in modo indipendente

La composizione è una relazione figlio principale in cui un figlio non può esistere indipendentemente senza un genitore.


 

AssociazioneC'è un'associazione debole in aggregazione.C'è una forte associazione nella composizione.
UMLIn UML l'aggregazione può essere definita utilizzando il segmento di lineaIn UML la composizione può essere definita usando il diamante.
FunzioneLa cancellazione dell'assemblaggio non ha alcun effetto sull'aggregazione.La cancellazione della composizione può influire sulla composizione

Che cos'è l'aggregazione?

L'aggregazione è una relazione con una classe di assieme con una classe costituente. In UML è un linguaggio di modellazione unificato che mostra una relazione di aggregazione con un segmento di linea. Le relazioni di aggregazione mostrano come uno a uno, uno a molti, molti a molti. Se la singola classe ha più classi, esiste una o più relazioni mentre molte classi hanno più oggetti è la relazione molti a uno. "Has a" è una relazione descritta in aggregazione.

Cos'è la composizione?

La forma restrittiva di associazione è una composizione in cui esiste una relazione figlio-genitore in cui il figlio non può esistere indipendentemente senza un genitore. In UML è rappresentato da un piccolo diamante solido. Nella composizione, la parte costituente può essere collegata alla maggior parte in un assieme. Una classe diventa contenitore e l'altra classe diventa contenuto che si trova in quel contenitore. Che hanno una parte ereditaria molto semplice, e il metodo di una classe può essere usato senza nemmeno scrivere di nuovo l'intero codice. C'è una "parte di" relazione nella composizione.

Differenze chiave

  1. In aggregazione esiste una relazione figlio-genitore in cui il figlio può esistere indipendentemente mentre Composizione è una relazione figlio-genitore in cui un figlio non può esistere indipendentemente senza un genitore.
  2. C'è un'associazione debole nell'aggregazione mentre c'è un'associazione forte nella composizione mentre c'è un'associazione forte nella composizione.
  3. In UML l'aggregazione può essere definita usando il segmento di linea, mentre in UML la composizione può essere definita usando il diamante.
  4. La cancellazione dell'assieme non ha alcun effetto sull'aggregazione, mentre la cancellazione della composizione può avere effetto sulla composizione

Conclusione

In questo articolo sopra vediamo la chiara differenza tra aggregazione e composizione con esempi.

Video esplicativo