Differenza chiave: aggregazione e composizione in Java
L'aggregazione è un'associazione tra due oggetti che descrive la relazione "has-a". La composizione è il tipo più specifico di aggregazione che implica la proprietà. La differenza fondamentale 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.
La programmazione orientata agli oggetti (OOP) è un paradigma importante nello sviluppo del software. Viene utilizzato per modellare il software utilizzando oggetti. Gli oggetti vengono creati utilizzando le classi. Una classe è composta da proprietà e metodi. Ci sono più oggetti nel software. Ogni oggetto collabora tra loro attraverso il passaggio di messaggi. La relazione tra due oggetti è nota come associazione. Sia l'aggregazione che la composizione sono due tipi di associazione. La relazione "ha-a" descrive che un oggetto può utilizzare un altro oggetto. L'aggregazione e la composizione possono essere implementate nei 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,quindi l'associazione tra questi due oggetti è una composizione.
CONTENUTI
1. Panoramica e differenza chiave
2. Che cos'è l'aggregazione in Java
3. Che cos'è la composizione in Java
4. Somiglianze tra aggregazione e composizione in Java
5. Confronto affiancato - Aggregazione e composizione in Java in forma tabulare
6. Riepilogo
Cos'è l'aggregazione in Java?
L'aggregazione è un tipo di associazione. Se una classe ha un riferimento all'entità, è noto come aggregazione. L'aggregazione rappresenta la relazione ha-a. Un oggetto Student può avere proprietà come student_id, name, address. 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-un".
Figura 01: classe dei marchi
Figura 02: programma principale per descrivere l'aggregazione
Secondo il programma di cui sopra, i voti di classe sono costituiti da tre proprietà che sono voti matematici, inglesi e scientifici. Lo studente ha un oggetto di marchi. Ha le sue proprietà che sono segni di matematica, inglese e scienza. Nel metodo principale, viene creato un oggetto Marks e vengono assegnati i valori dei marker. L'oggetto studente che è s1 può usare l'oggetto segni che è m1. Pertanto, lo studente e i marchi hanno la relazione "ha-a". L'oggetto Marks può esistere senza lo Student Object. Pertanto, è un'aggregazione.
Cos'è la composizione in Java?
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 pagina non possono esistere senza l'oggetto libro. Fare riferimento al programma seguente.
Figura 03: classe in aula
Figura 04: classe scolastica
Figura 05: programma principale per descrivere la composizione
Secondo il programma sopra, la classe ha due proprietà che sono name e numOfStudents. La scuola è una raccolta di oggetti di Classroom. Nel metodo principale vengono creati due oggetti Classroom. Questi vengono aggiunti alle "aule". Queste "aule" vengono passate all'oggetto scuola. Infine, il nome della classe e il numero di studenti vengono stampati ripetendo la raccolta. Se l'oggetto School viene distrutto, verranno distrutti anche gli oggetti Classroom. Questo è un esempio di composizione. Contiene anche la relazione "ha-a" e implica anche la proprietà.
Qual è la relazione tra aggregazione e composizione in Java?
L'aggregazione e la composizione sono due tipi di associazione e la composizione è un tipo specializzato di aggregazione. La composizione è un sottoinsieme di aggregazione
Qual è la differenza tra aggregazione e composizione in Java?
Articolo diff. Al centro prima della tabella
Aggregazione e 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à. |
Utilizzo | |
L'aggregazione viene utilizzata quando un oggetto utilizza un altro oggetto. | La composizione viene utilizzata quando un oggetto possiede un altro oggetto. |
Effetto sugli oggetti | |
In aggregazione, la distruzione dell'oggetto proprietario non influirà sull'oggetto contenitore. | Nella composizione, la distruzione dell'oggetto proprietario influenzerà l'oggetto contenitore. |
Riepilogo: aggregazione e composizione in Java
Aggregazione e Composizione sono due concetti in OOP. La relazione "ha-a" descrive che un oggetto può utilizzare un altro oggetto. L'aggregazione è un'associazione tra due oggetti che descrive la relazione "has-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.