Differenza chiave: aggregazione e composizione
La programmazione orientata agli oggetti (OOP) è un paradigma comune nello sviluppo di 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. Quel progetto è noto come una classe. Una classe contiene proprietà e metodi. Gli oggetti vengono creati utilizzando le classi. Classe e oggetto sono simili a una pianta e a 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 "associazione". L'aggregazione e la composizione sono tipi di associazioni. Descrivono la relazione tra le classi. Questo articolo illustra la differenza tra aggregazione e composizione. Il differenza fondamentale tra aggregazione e composizione è quello l'aggregazione è un'associazione tra due oggetti che descrive la relazione "ha un" e la composizione è un tipo più specifico di aggregazione che implica la proprietà.
Cos'è l'aggregazione?
Una relazione tra due oggetti viene mostrata disegnando una linea in Unified Modeling Language (UML). Il collegamento è 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 quell'esempio, un autore sta scrivendo un libro.
Quando un oggetto di 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 della classe B e un oggetto della classe B è associato a molti oggetti della classe A, si tratta di 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 la relazione "ha una". 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 usando l'esempio seguente.
Figura 01: aggregazione
Secondo l'esempio sopra, la classe è composta da uno o più studenti. Molteplicità è anche usata per indicare il numero di oggetti. Descrive che una classe ha più studenti. Il simbolo del diamante rappresenta l'aggregazione in UML. Gli oggetti Studente non si basano sull'oggetto classe. Se l'oggetto classe viene distrutto, non influirà sugli oggetti studente. Quegli oggetti esisteranno ancora.
Cos'è la composizione?
La composizione è una forma di aggregazione più specifica. Descrive la proprietà. Può essere spiegato usando l'esempio seguente.
Figura 02: Composizione
Secondo quanto sopra, l'oggetto libro è costituito da un oggetto pagina o da pagine. Molteplicità è anche usata per indicare il numero di oggetti. Descrive che una classe ha più studenti. Il simbolo del diamante che viene evidenziato rappresenta la composizione in UML. Poiché il libro ha una o più pagine, è un'aggregazione, ma è più specifica. Se l'oggetto libro viene distrutto, anche gli oggetti pagina vengono distrutti. Gli oggetti Pagina non possono esistere senza l'oggetto libro. Pertanto, la composizione è una forma più specifica di aggregazione che implica la proprietà.
Quali sono le somiglianze tra aggregazione e composizione?
- Entrambi sono usati nella programmazione orientata agli oggetti.
- Entrambi sono usati 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 un". | La composizione è il tipo più specifico di aggregazione che implica la proprietà. |
Simbolo UML | |
L'aggregazione è indicata da un diamante. | La composizione è indicata da un diamante evidenziato. |
Funzionalità | |
In aggregazione, se l'oggetto proprietario viene distrutto, non influirà sull'oggetto contenitore. | Nella composizione, se l'oggetto proprietario viene distrutto, influenzerà l'oggetto che lo contiene. |
Riepilogo – Aggregazione vs composizione
La programmazione orientata agli oggetti è un paradigma importante nello sviluppo di software. In OOP, il sistema viene modellato utilizzando gli oggetti. Questi oggetti non esistono isolati. Gli oggetti collaborano con altri oggetti. La relazione tra oggetti è nota 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 una" e la composizione è il tipo più specifico di aggregazione che implica la proprietà. L'aggregazione e la composizione aiutano entrambe a comprendere il comportamento del sistema.
Scarica la versione PDF di Aggregation vs Composition
Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra aggregazione e composizione