Skip to main content

Cos'è un array di classe?

Nella programmazione di computer orientata agli oggetti, un array di classe può fare riferimento a uno dei due tipi di strutture di dati.Alcuni programmatori usano il termine per descrivere un tipo di dati di array standard composto da elementi che sono istanze di oggetti di una determinata classe.Può anche essere un oggetto incapsulato dell'array di classe, noto anche come oggetto wrapper, utilizzato al posto di un array scalare per rendere disponibili una varietà di metodi per l'uso nella gestione dell'array.Sebbene potrebbe esserci funzionalità più complesse, la classe di array wrapper non è in realtà diversa dal concetto rispetto agli oggetti wrapper per altri tipi di dati scalari come numeri interi o caratteri.In entrambi i casi, la struttura può essere utilizzata solo nel contesto di un linguaggio di programmazione orientato agli oggetti che supporta le classi.

La prima definizione di un array di classe lo identifica come un tipo di dati di array standard che viene dichiarato per trattenere gli oggetti istanziati da un singoloclasse specifica.Questo viene comunemente fatto quando si tiene una serie impostata di oggetti, specialmente quando è noto il numero massimo di oggetti, quindi l'array non viene dichiarato con una quantità eccessiva di elementi.I meccanismi polimorfici nella programmazione orientata agli oggetti significano che l'uso di un array di classe può essere molto dinamico, perché può contenere una superclasse generica, consentendo di tenere una varietà di sottoclassi come elementi nonostante le loro diverse implementazioni.Una complicazione quando si utilizza un array di classe, tuttavia, può sorgere quando il numero di elementi è sconosciuto e diventa più grande della dimensione definita dell'array, o è molto piccolo, lasciando uno spazio di memoria sprecato assegnato con l'array.Una soluzione consiste nell'utilizzare oggetti di tipo raccolta come vettori o schierati anziché un array scalare che non può essere ridimensionato.

La seconda definizione di un array di classe è un oggetto che contiene un array scalare ma fornisce anche una serie di metodi per manipolaree cambia l'array.Alcune lingue implementano algoritmi di smistamento e ricerca molto efficienti all'interno di un wrapper di array di classe.Un altro vantaggio nell'uso di un array implementato come classe è che la classe può essere facilmente passata e modificata da diverse funzioni e metodi, specialmente se la classe di array di base è discendente da una classe di oggetti generici.L'array di classe è spesso la base per altri tipi di classi basate su array in una libreria di programmazione, come un arraylist o una tabella hash.Inoltre, alcune lingue consentono di estendere la classe di array, il che significa che un utente può ridefinire alcuni dei metodi di base con implementazioni più specializzate mantenendo la funzionalità principale della classe.