L'aggregazione è un'associazione tra due oggetti che descrive la relazione "ha-a". La composizione è il tipo più specifico di aggregazione che implica la proprietà. Il differenza fondamentale tra aggregazione e composizione in Java è quello, se l'oggetto contenuto può esistere senza l'esistenza dell'oggetto proprietario, è un'aggregazione e se l'oggetto contenuto non può esistere senza l'esistenza dell'oggetto proprietario, è una composizione.
La programmazione orientata agli oggetti (OOP) è un importante paradigma nello sviluppo del software. È usato per modellare il software usando gli oggetti. Gli oggetti sono creati usando le classi. Una classe consiste di proprietà e metodi. Ci sono più oggetti nel software. Ogni oggetto collabora tra loro attraverso il passaggio dei messaggi. La relazione tra due oggetti è conosciuta come un'associazione. Sia l'aggregazione che la composizione sono due tipi di associazione. La relazione "ha-a" descrive che un oggetto può usare un altro oggetto. L'aggregazione e la composizione possono essere implementate in linguaggi di supporto OOP. Se l'oggetto contenuto può esistere senza l'esistenza dell'oggetto proprietario, l'associazione tra questi due oggetti è un'aggregazione. Se l'oggetto contenuto non può esistere senza l'esistenza dell'oggetto proprietario, l'associazione tra questi due oggetti è una composizione.
1. Panoramica e differenza chiave
2. Cos'è l'aggregazione in Java
3. Cos'è la composizione in Java
4. Somiglianze tra aggregazione e composizione in Java
5. Confronto affiancato - Aggregazione vs Composizione in Java in forma tabulare
6. Sommario
L'aggregazione è un tipo di associazione. Se una classe ha un riferimento di entità, è nota come aggregazione. L'aggregazione rappresenta la relazione has-a. Un oggetto Studente può avere proprietà come student_id, nome, indirizzo. Questo oggetto può anche avere un altro oggetto chiamato indirizzo con le proprie informazioni come città, stato, paese. In questa situazione, lo studente ha un indirizzo di riferimento di entità. È una relazione "ha-a".
Figura 01: Classe Marks
Figura 02: Programma principale per descrivere l'aggregazione
Secondo il programma di cui sopra, i marchi di classe sono costituiti da tre proprietà che sono Matematica, Inglese e Segni di scienza. Lo studente ha un oggetto di segni. Ha le sue proprietà che sono segni di matematica, inglese e scienza. Nel metodo principale, viene creato un oggetto di Marchi e vengono assegnati i valori dei segni. L'oggetto studente che è s1 può usare l'oggetto marks che è m1. Pertanto, lo Studente e i Marchi hanno la relazione "ha-a". L'oggetto Marks può esistere senza l'oggetto studente. Pertanto, è un'aggregazione.
La composizione è un tipo di associazione. È una forma specifica di aggregazione che implica la proprietà. Supponiamo che ci siano due classi chiamate classe A e B. Se l'oggetto della classe B non può esistere se l'oggetto della classe A viene distrutto, allora quella è una composizione. Un libro è composto da molte pagine. Se il libro viene distrutto, anche le pagine verranno distrutte. Gli oggetti di pagina non possono esistere senza l'oggetto libro. Fare riferimento al programma seguente.
Figura 03: Classroom Class
Figura 04: Classi scolastiche
Figura 05: Programma principale per descrivere la composizione
Secondo il programma di cui sopra, Classroom ha due proprietà che sono name e numOfStudents. The School è una raccolta di oggetti Classroom. Nel metodo principale, vengono creati due oggetti Classroom. Quelli sono aggiunti alle "aule". Queste "aule" sono passate all'oggetto scolastico. Infine, il nome della classe e il numero degli studenti vengono stampati iterando attraverso la raccolta. Se l'oggetto School viene distrutto, anche gli oggetti Classroom verranno distrutti. Questo è un esempio di composizione. Contiene anche la relazione "ha-a" e implica anche la proprietà.
Aggregazione vs Composizione in Java | |
L'aggregazione è un'associazione tra due oggetti che descrive la relazione "ha una". | La composizione è un tipo più specifico di aggregazione che implica la proprietà. |
uso | |
L'aggregazione viene utilizzata quando un oggetto utilizza un altro oggetto. | La composizione è usata quando un oggetto possiede un altro oggetto. |
Influisce sugli oggetti | |
Nell'aggregazione, distruggere l'oggetto proprietario non influirà sull'oggetto contenitore. | Nella composizione, distruggere l'oggetto proprietario influirà sull'oggetto contenitore. |
Aggregation e Composition sono due concetti in OOP. La relazione "ha-a" descrive che un oggetto può usare un altro oggetto. L'aggregazione è un'associazione tra due oggetti che descrive la relazione "ha-a". La composizione è un tipo più specifico di aggregazione che implica la proprietà. La differenza tra aggregazione e composizione in Java è che, se l'oggetto contenuto può esistere senza l'esistenza dell'oggetto proprietario, è un'aggregazione e se l'oggetto contenuto non può esistere senza l'esistenza dell'oggetto proprietario, è una composizione.
1. "Association, Composition and Aggregation in Java." GeeksforGeeks, 8 febbraio 2018. Disponibile qui
2. "Aggregazione in Java - Javatpoint." Punto Java. Disponibile qui