Ciao a tutti
Quando io in una sottoclasse s decido di sovrascrivere un metodo della sua superclasse S (ossia decido di riutilizzare quanto già fa un metodo di S, con qualche piccola variante funzionale a quanto devo fare in s), ridefinisco il metodo con la stessa intestazione e nel corpo del metodo, una volta "aggiunto" la variante che volevo fare, richiamo il metodo di Sattraverso la sintassi:
super.nomeMetodo(..).
Fin qua tutto chiaro giusto?
Ecco la mia domanda è la seguente: se il metodo della superclasse S ha un valore di ritorno, e io nella sottoclasse voglio modificare il metodo con un'operazione che non va a influire sul valore di ritorno (ad esempio inserisco un contatore: ogni volta che viene eseguito quel metodo viene incrementato di uno), comunque nel corpo del metodo devo inserire la parola "return", anche se il return lo dovrebbe già fare il metodo della superclasse? Altrimenti il compilatore mi da errore di mancanza di valore di ritorno".
Provo a spiegarmi meglio con un esempio:
codice:public SottoClasse{ public static int metodoDaSovrascrivere(...){ variante super.metodoDellaSuperClasse(..) }
Questo codice risulta errato perché manca il valore di ritorno. JAVA richiede sempre che io lo metta anche se il ritorno dovrebbe essere già effettuato nella superclasse?
E' un concetto un po' macchinoso spero di essermi spiegato.![]()