Differenza tra aggregazione e composizione

Differenza chiave - Aggregazione vs composizione
 

La programmazione orientata agli oggetti (OOP) è un paradigma comune nello sviluppo del software. L'oggetto è un'istanza di una classe. Non è possibile creare oggetti contemporaneamente. Ci dovrebbe essere un progetto o una descrizione per creare un oggetto. Quella cianografia è conosciuta come una classe. Una classe contiene proprietà e metodi. Gli oggetti sono creati usando le classi. Classe e oggetto sono simili a un piano e una casa nel mondo reale. Non è possibile costruire una casa senza un piano adeguato. Allo stesso modo, una classe viene utilizzata per creare un oggetto. Un oggetto collabora con altri oggetti. Un collegamento con rappresenta la relazione di due o più oggetti è chiamato come "associazione". Aggregazione e composizione sono tipi di associazioni. Descrivono la relazione tra le classi. Questo articolo discute la differenza tra aggregazione e composizione. Il differenza fondamentale tra aggregazione e composizione è quella l'aggregazione è un'associazione tra due oggetti che descrive la relazione "ha a" e la composizione è un tipo più specifico di aggregazione che implica la proprietà.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è l'aggregazione
3. Cos'è la composizione
4. Somiglianze tra aggregazione e composizione
5. Confronto affiancato - Aggregazione vs Composizione in forma tabulare
6. Sommario

Cos'è l'aggregazione?

Una relazione tra due oggetti viene mostrata disegnando una linea in UML (Unified Modeling Language). Il link è un'associazione. UML aiuta a ottenere una rappresentazione visiva del sistema. È diverso dai normali linguaggi di programmazione. L'associazione definisce anche la molteplicità degli oggetti. Sono uno a uno, uno a molti e molti a molti. Quando un singolo oggetto di classe A è associato al singolo oggetto di classe B, si tratta di una relazione uno a uno. Un esempio è un autore che scrive un libro. In questo esempio, un autore sta scrivendo un libro.

Quando un oggetto della classe A è associato a molti oggetti di classe B, è una relazione uno-a-molti. Un esempio è che un reparto può avere molti dipendenti. Quando l'oggetto della classe A è associato a molti oggetti di classe B e un oggetto di classe B è associato a molti oggetti di classe A, è un'associazione molti a molti. Un esempio è che un dipendente può lavorare su più progetti e un progetto può avere più dipendenti.

L'aggregazione è un'associazione di tipi che descrive ulteriormente la relazione tra gli oggetti. L'aggregazione descrive "ha una" relazione. Alcuni esempi che descrivono la relazione sono, uno studente "ha un" id studente, un veicolo "ha un" motore. È anche possibile espandere una grande quantità con la relazione. Alcuni esempi sono: una banca "ha molti" conti bancari, una classe "ha molti" studenti. Può essere spiegato utilizzando l'esempio seguente.

Figura 01: aggregazione

Secondo l'esempio precedente, l'aula è composta da uno studente o da molti studenti. La molteplicità viene anche utilizzata per indicare il numero di oggetti. Descrive che una classe ha più studenti. Il simbolo del diamante rappresenta l'aggregazione in UML. Gli oggetti studenti non si basano sull'oggetto classe. Se l'oggetto classe viene distrutto, non avrà effetto sugli oggetti studente. Questi oggetti continueranno a esistere.

Cos'è la composizione?

La composizione è una forma più specifica di aggregazione. Descrive la proprietà. Può essere spiegato utilizzando l'esempio seguente.

Figura 02: composizione

In base a quanto sopra, l'oggetto libro è composto da pagine o pagine. La molteplicità viene anche utilizzata per indicare il numero di oggetti. Descrive che una classe ha più studenti. Il simbolo del diamante evidenziato rappresenta la composizione in UML. Poiché il libro ha una pagina o più pagine, è un'aggregazione, ma è più specificata. Se l'oggetto del libro viene distrutto, anche gli oggetti della pagina vengono distrutti. Gli oggetti della pagina non possono esistere senza l'oggetto libro. Pertanto, la composizione è una forma più specifica di un'aggregazione che implica la proprietà.

Quali sono le somiglianze tra aggregazione e composizione?

  • Entrambi sono usati nella programmazione orientata agli oggetti.
  • Entrambi sono utilizzati in Unified Modeling Language (UML) per ottenere una comprensione visiva del sistema.

Qual è la differenza tra aggregazione e composizione?

Aggregazione vs Composizione

L'aggregazione è un'associazione tra due oggetti che descrive la relazione "ha una". La composizione è il tipo più specifico di aggregazione che implica la proprietà.
 Simbolo UML
L'aggregazione è denotata da un diamante. La composizione è denotata da un diamante evidenziato.
Funzionalità
In aggregazione, se l'oggetto proprietario è distrutto, non avrà effetto sull'oggetto contenitore. In composizione, se l'oggetto proprietario è distrutto, avrà effetto sull'oggetto contenitore.

Sommario - Aggregazione vs Composizione 

La programmazione orientata agli oggetti è un importante paradigma nello sviluppo del software. In OOP, il sistema è modellato usando gli oggetti. Questi oggetti non esistono in isolamento. Gli oggetti collaborano con altri oggetti. La relazione tra gli oggetti è conosciuta come associazione. L'aggregazione e la composizione sono tipi di associazione. La differenza tra aggregazione e composizione è che l'aggregazione è un'associazione tra due oggetti che descrive la relazione "ha a" e la composizione è il tipo più specifico di aggregazione che implica la proprietà. L'aggregazione e la composizione aiutano entrambi a comprendere il comportamento del sistema.

Scarica la versione PDF di Aggregation vs Composition

È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra aggregazione e composizione

Riferimento:

1.tutorialspoint.com. "Modello oggetto OOAD". Il punto. Disponibile qui  
2.6 5 Utilizzo dell'aggregazione e della composizione, carriera delle persone, 22 maggio 2015. Disponibile qui