Aggregazione in Java

Artículo revisado y aprobado por nuestro equipo editorial, siguiendo los criterios de redacción y edición de YuBrain.


L’aggregazione è un tipo di associazione tra classi che può essere eseguita in vari linguaggi di programmazione orientati agli oggetti, come Java. È un processo che consente di riutilizzare il codice in modo rapido ed efficiente, rendendo i programmi molto più facili da scrivere e da eseguire in modo più efficiente.

In generale, l’aggregazione fa riferimento a una classe all’interno di un’altra classe. Questo crea quella che viene chiamata una relazione HAS-A tra la classe contenitore e la classe contenitore. Queste relazioni sono caratterizzate dall’essere unidirezionali, in quanto implicano che una delle classi contenga l’altra; questo impedisce che accada il contrario.

Ad esempio, possiamo dire che un’azienda, che può essere vista dal punto di vista della programmazione come una classe di oggetti, ha un insieme di dipendenti; questi, a loro volta, possono anche essere visti come oggetti con propri attributi. In questo caso la classe contenitore è l’azienda, mentre la classe contenitore sono i dipendenti. Questa relazione ha senso solo in questa direzione, cioè dall’azienda al dipendente. La relazione in senso inverso non ha senso, poiché sarebbe come dire che il dipendente contiene l’azienda. Il fatto che ciò non abbia senso dimostra che si tratta di una relazione a senso unico.

Aggregazione nei diagrammi delle classi

Nell’Unified Modeling Language (UML), che è un tipo di linguaggio visivo universale creato per progettare sistemi software complessi, i diagrammi di classe vengono utilizzati per descrivere la struttura e le caratteristiche di un sistema. In questi diagrammi ogni classe e le sue relazioni con le altre sono rappresentate mediante figure geometriche. Nel caso dell’aggregazione, questa relazione è rappresentata da un rombo cavo sul lato della classe contenitore, che è collegato mediante un segmento di retta alla classe contenitore. Per esempio:

Aggregazione in Java

Questa è una relazione di aggregazione che indica che la classe Well contiene la classe Duck.

Come viene implementata l’aggregazione in Java?

L’implementazione dell’aggregazione in Java è relativamente semplice. Si tratta solo di creare due classi e quindi fare riferimento alla prima classe all’interno della seconda.

Oltre a stabilire una relazione “have a” o “have to”, l’aggregazione Java è caratterizzata da una debole relazione tra l’oggetto contenitore e il contenuto. Ciò significa che la distruzione dell’uno non implica la distruzione dell’altro. Per comprendere questo tipo di relazione, si può prendere come esempio il rapporto tra un insegnante e i suoi studenti. In questo caso, la scomparsa o la morte dell’insegnante non comporta la scomparsa o la morte dei suoi studenti.

Il caso opposto sarebbe il rapporto tra un essere umano e il suo cuore. Non c’è dubbio che il cuore è contenuto nell’essere umano, ma questo rapporto è diverso da quello di aggregazione. Questo perché, in questo caso, entrambi dipendono l’uno dall’altro. La distruzione dell’essere umano distrugge anche il cuore, poiché per funzionare ha bisogno dei nutrienti e dell’ossigenazione che il corpo fornisce. D’altra parte, la distruzione del cuore distrugge anche l’essere umano, poiché senza cuore non si può vivere (esclusi i casi di trapianti o altri metodi di supporto vitale artificiale).

Esempio di aggregazione

Il codice seguente esemplifica l’implementazione dell’aggregazione come forma di associazione tra due classi utilizzando Java. L’esempio riguarda un programma per tenere traccia di quali dipendenti di un’azienda hanno la propria auto e quali no, nonché quali hanno biciclette e quali no.

Poiché si cerca di stabilire una relazione che indichi che il dipendente “ha” un’auto e/o che il dipendente “ha” una bicicletta, si tratta di una relazione di aggregazione tra la classe a cui apparterrà il dipendente (che chiameremo Dipendente , per ovvie ragioni) e due ulteriori classi, una per l’auto e una per la bicicletta.

La prima cosa da fare in questi casi è creare le rispettive classi. In questo caso ci sono tre classi: una per l’auto, una per la bicicletta e una per il dipendente. La figura seguente mostra il codice per la creazione di queste classi, denominate Car, Bicycle e Employee.

Aggregazione in Java

Nel codice sopra puoi anche vedere che ogni classe ha determinati attributi ad essa associati. Nel caso dell’auto ha come attributi il ​​modello, il colore e le targhe, tutti associati all’auto. Lo stesso accade con la bicicletta, alla quale viene associato un numero di targa e il modello.

Quando osserviamo la classe Employee, notiamo che questa classe ha gli attributi monbreemp , che rappresenta il nome del dipendente, ed empid, che rappresenta il numero identificativo del dipendente; quindi fa riferimento alle classi Auto e Moto, creando l’associazione di aggregazione tra queste classi. Infine, viene creato il record di un dipendente insieme alla sua auto e bicicletta.

Si noti che in questo esempio, il riferimento alle classi Car e Bike all’interno della classe Employee consente di accedere agli attributi bike e car dall’interno della classe Employee.

L’output di questo programma sarebbe:

________Dettagli del dipendente________

Nome del dipendente: Saverio

Numero di identificazione del dipendente: 210921

________Dettagli auto dipendente________

Modello auto: Corolla

Colore auto: verde

Targa auto: XFZ-043

________Dettagli bici del dipendente________

Modello bici: MERIDA

Targhe per biciclette: LAA-11B

Riferimenti

-Annuncio-

Israel Parada (Licentiate,Professor ULA)
Israel Parada (Licentiate,Professor ULA)
(Licenciado en Química) - AUTOR. Profesor universitario de Química. Divulgador científico.

Artículos relacionados