Superclasse (informatica)
Superclasse è un termine utilizzato nella programmazione orientata agli oggetti per indicare una classe, non necessariamente astratta, che viene estesa da un'altra, chiamata sottoclasse per funzionalità più circoscritte e approfondite. La superclasse contiene funzionalità che vengono utilizzate e/o estese da tutte le classi figlie.
Esempio di utilizzo
Un esempio di utilizzo di una classe astratta è una casella della griglia di un semplice gioco bidimensionale. Una casella potrebbe far parte di un sentiero, acqua, muri e via discorrendo, ma va rappresentata pur sempre come un oggetto di tipo Casella. La soluzione è utilizzare una classe Casella come superclasse e le caselle CasellaSentiero, CasellaAcqua e CasellaMuro come classi derivate dalla Casella. Le modalità con cui si rappresenta questo legame di ereditarietà variano a seconda del linguaggio usato.
Nella programmazione in java le classi figlie ereditano i metodi e gli attributi(variabili) della superclasse. Nel caso in cui vi siano metodi o attributi con lo stesso nome nella superclasse e nella sottoclasse il metodo o attributo della sottoclasse sovrascrive quello della superclasse.
Esempio
public class Casella{
public void stampa(){
System.out.println("stampa proveniente da Casella");//stampa la stringa tra parentesi
}
public class CasellaSentiero extends Casella{ // creo la sottoclasse CasellaSentiero
public void stampa(){
System.out.println("stampa proveniente da CasellaSentiero");
}
In questo esempio, se viene richiamato il metodo stampa(); il risultato a video sarà stampa proveniente da CasellaSentiero.
Bibliografia
- Fabrizia Scorzoni, Informatica Programmazione in Java, Torino, Loescher, 2009, ISBN 9788884330307.