|
JSem: 3.2 |
Super: 1) Una sottoclasse può chiamare un costruttore della superclasse usando: super(elenco parametri); super() deve essere la prima istruzione all'interno del costruttore di una sottoclasse. 2) Se una classe contiene una variabile di istanza con lo stesso nome di una variabile di istanza della sua superclasse, la variabile della sottoclasse nasconde la variabile della superclasse; per accedere alla variabile della superclasse bisogna usare super; stesso discorso per i metodi. Esempio di utilizzo di super:
Possiamo testare queste classi con la seguente applet:
L'outpout è: Somma in NumB: 7 Somma in Num: 3 Come osservato nel codice, super() permette, nei costruttori, di accedere alle variabili private della superclasse. Per sovrascrivere il metodo Somma() nella classe NumB, abbiamo richiamato con super il metodo della superclasse e l'abbiamo ampliato (con +y); questo in generale è l'utilizzo maggiore di super. super si riferisce sempre alla superclasse della classe corrente, non era quindi possibile invocare super.Somma() nell'applet (la superclasse dell'applet è Applet); per questo motivo abbiamo definito un metodo VSomma() della classe NumB. Un altro esempio per concludere:
possiamo vedere queste classi all'opera:
L'outpout è: a nella superclasse: 3 a nella sottoclasse: 4 |
next content previous