Skip to main content

Cos'è una classe astratta?

Nella programmazione orientata agli oggetti, una classe astratta fornisce una classe di base che può essere utilizzata per fornire ad altre classi implementazione e interfaccia parziali.Sono incompleti da soli e utilizzati in situazioni di eredità in molti linguaggi di programmazione come Java, C ++ e C#.Il loro utilizzo come classe base significa che sono spesso definiti una classe di base astratta (ABC).

Una parte integrante della programmazione orientata agli oggetti, l'astrazione dei dati rimuove i dettagli non necessari di un oggetto.In sostanza, riduce l'oggetto alle sue principali caratteristiche di identificazione.Queste caratteristiche di base forniscono un progetto che può essere utilizzato per creare altri oggetti con le stesse proprietà, che differiscono solo nei dettagli.

Questo progetto è definito come una classe.Le classi vengono utilizzate per incapsulare il codice, rendendo più facile per il programmatore, perché può fare riferimento a routine comuni specifiche invece di scrivere le routine più e più volte.I programmatori creano oggetti figlio da classi e questi oggetti ereditano le funzioni e i metodi all'interno della classe genitore.

Lo scopo di una classe astratta è quello di essere il framework su cui sono costruite altre classi.Gli oggetti non possono essere creati direttamente da una classe astratta, solo dalle sottoclassi appartenenti alla classe astratta.Per un oggetto da ereditare da una classe astratta, è necessario creare una sottoclasse.Gli oggetti di una sottoclasse creata di una classe astratta ereditano le proprietà di quella classe astratta.

ogni classe modella un concetto e le classi astratte tendono a modellare concetti più astratti usando metodi astratti.I metodi astratti sono subroutine all'interno di una classe astratta che non contengono implementazione.Queste subroutine sono usate come segnaposto per essere sovrascritte da una sottoclasse o da un oggetto progettato in base alla classe che contiene il metodo astratto stesso.

Esistono diversi metodi per creare una classe astratta.Ad esempio, in C ++, una classe astratta viene creata sviluppando una classe con almeno un metodo astratto o una funzione virtuale pura.Java usa una parola chiave, "astratto", per indicare una classe astratta.Non sono, tuttavia, definiti nei linguaggi di programmazione che non supportano l'idea dell'eredità.

L'ereditarietà è il processo di creazione di nuovi oggetti da classi in cui i nuovi oggetti possono utilizzare le funzioni e i metodi definiti all'interno delle classi genitori senza la necessità diRiaffermare il programma.Ecco perché è utile una classe astratta.Classi per bambini e oggetti figlio di tali sottoclassi ereditano le proprietà della classe astratta del genitore.Le classi astratte sono considerate superclassi e sono in cima alla gerarchia della struttura della classe, quindi non hanno senso in una lingua che non supporta l'eredità.