Che cos'è la classe base?

Una classe base, chiamata anche superclasse, è un oggetto computer che funge da base per una o più classi derivate. Qualsiasi linguaggio informatico in grado di ereditare può creare una classe base. A seconda del loro tipo preciso, le classi base possono o meno essere in grado di inizializzare - assegnando un valore iniziale a un oggetto - da sole, ma danno sempre qualche tipo di funzionalità comune a qualsiasi classe che eredita da esse. Non c'è mai un limite al numero di classi derivate, o sottoclassi, che possono avere le classi base, ma può esserci un limite, a seconda del linguaggio del computer, al numero di classi base che una classe derivata può avere. Si dice che i linguaggi che consentono a una classe derivata di avere una sola base impongano una singola eredità, mentre quelli che consentono a una classe derivata di avere più classi base usano l'ereditarietà multipla.

Le classi di base concrete possono essere inizializzate da sole; vale a dire, è possibile creare un oggetto del tipo di classe base. Se un esempio di classe è una base per una classe derivata Esempio2, è possibile creare un oggetto di tipo Esempio2 e un oggetto di tipo Esempio. Un oggetto di tipo Esempio può essere realizzato solo chiamando esplicitamente quel tipo di oggetto; la creazione di un oggetto di tipo Esempio2 non crea un oggetto secondario di tipo Esempio. In ogni caso, il tipo di oggetto che viene creato crea solo un'istanza di se stesso.

Le classi base astratte, al contrario, non possono essere inizializzate da sole, il che significa che un oggetto della classe base non può essere creato da solo. Se una classe Esempio3 è una base astratta per una classe derivata Esempio4, è possibile creare solo un oggetto di tipo Esempio4. Anche se il tipo Esempio4 include dati del tipo Esempio3, il tentativo di creare un oggetto solo del tipo Esempio3 comporterà un errore. Questa funzionalità può essere utile a volte, in particolare se la classe Example3 contiene dati privati ​​che dovrebbero essere strettamente regolati.

A seconda della lingua in cui appare, una classe base può avere comportamenti leggermente diversi e nomi nettamente diversi. In Java®, le classi base sono sempre indicate con quel nome, mentre in C ++, a seconda della loro struttura, possono essere chiamate classi virtuali. Le differenze nel nome e nella funzionalità, sebbene significative in termini di linguaggi informatici utilizzati, non implicano differenze sostanziali nel principio alla base delle lezioni. Una classe di base viene sempre utilizzata per incapsulare funzionalità e dati comuni per le sue classi derivate, indipendentemente dalla lingua.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?