Che cos’è un tipo di dati astratto?

Nella programmazione per computer, ci sono molti tipi di variabili, funzioni e tipi di dati. Un tipo di dati astratto è una variabile che può cambiare in base alle condizioni all’interno del programma. Questo è un modello di programmazione orientato agli oggetti che consente il riutilizzo del codice creando un livello di astrazione. Questo tipo di dati viene spesso utilizzato nei linguaggi di programmazione C++ e Java® ed è considerato una tecnica di sviluppo avanzata.

Un tipo di dati astratto è considerato la definizione di minimo comune denominatore di un insieme o di una struttura di dati specifici. Questo tipo di dati dovrebbe includere operazioni di base per consentire la modifica dei valori dei dati all’interno di tale struttura. Il tipo di dati può essere utilizzato da tipi di dati simili tramite l’ereditarietà, che rende le operazioni estendibili ai discendenti.

Un esempio che viene spesso utilizzato per descrivere i tipi di dati astratti sono gli oggetti elenco e coda. Questi sono oggetti che mantengono le informazioni in modo lineare, simile a un foglio di calcolo di dati. Sia un elenco che un oggetto coda gestiscono set di dati e utilizzano funzioni per manipolare tali dati. Creando un tipo di dati astratto per gestire set di dati, sia l’elenco che l’oggetto coda possono utilizzare le stesse funzioni di ordinamento.

L’astrazione si riferisce a idee che sono virtuali o incomplete. Un tipo di dati astratto è un tipo di dati che è una forma scheletro di una struttura di dati effettiva. È progettato come uno scheletro per consentire il riutilizzo delle funzioni in base alle esigenze specifiche del programma.

Non è possibile utilizzare un tipo di dati astratto senza prima assegnarlo a un tipo di dati concreto. Questa è una struttura di dati scheletro precursore che deve essere convertita in un tipo di dati reale quando viene creata. Lo scheletro viene quindi utilizzato accedendo alle funzioni disponibili nell’implementazione concreta ereditata. La classe astratta definisce le interfacce e le funzioni che possono essere utilizzate dalle classi discendenti.

Avere l’astrazione all’interno del software rende il programma più flessibile per modifiche future. Questo livello di astrazione fornisce un’area per la creazione e l’utilizzo di funzioni generiche in tutta l’applicazione. Il linguaggio di programmazione Java® realizza questo attraverso interfacce e metodi funzionali nel livello astratto.
Il tipo di dati abstract può essere utilizzato anche nell’implementazione del database a oggetti. Si tratta di una struttura di database gerarchica basata su oggetti e relazioni padre-figlio. All’interno dei principi del database di oggetti e del tipo di dati astratti possono assumere più forme. Ciò consente di memorizzare più tipi di dati nella struttura del database.