PDA

Visualizza la versione completa : [JAVA] - Sovvraccarico dei metodi


CrashOverride
04-11-2003, 16:00
ciao.

stò realizzando una classe che contenga alcuni metodi di uso comune nei programmini che faccio. In particolare stò realizzando un metodo che realizzi l'input da tastiera. Il mio problema è il seguente :

posso utilizzare il sovraccarico dei metodi per far si che il risultato ritornato dalla funzione sia int o string a seconda di dove vada a finire ??

In particolare vorrei che se il metodo si chiama "Leggi" allora se chiamo il metodo scrivendo :

int n = Leggi(); /* Leggi restituisce un int */

e se invece scrivo :

String s = Leggi() /* Restituisce una stringa */

Angelo1974
04-11-2003, 16:34
Ciao.
Purtotroppo come tu vuoi fare non si può.
Per effettuare l'overloading dei metodi non basta cambiare il tipo restituito in uscita ma bisogna cambiare la lista dei parametri in ingresso al matodo; ad esempio


int n = Leggi(); /* Leggi restituisce un int */
String s = Leggi() /* Restituisce una stringa */

Non va bene, ma andrebbe bene se avessi scritto:


int n = Leggi(); /* Leggi restituisce un int */
String s = Leggi( "ciao" ); /* Restituisce una stringa */

Quindi nella tua classe dovresti avere un metodo Leggi che accetta in ingresso una stringa.
Spero ti sia stato d'aiuto. Ciao :ciauz:

LeleFT
04-11-2003, 18:10
Per sottoporre ad overload un metodo NON E' SUFFICIENTE cambiare il tipo di ritorno, ma è necessario che i metodi differiscano ALMENO per il tipo, il numero o l'ordine dei parametri.


Ciao.

LeleFT
04-11-2003, 19:13
Aggiungo una cosa alla mia precedente affermazione: quando ho detto che è necessario che i due metodi differiscano per l'ordine dei parametri avevo sottointeso che i parametri devono essere di tipo diverso (se sono tutti dello stesso tipo, infatti, l'ordine con cui compaiono nell'intestazione del metodo non conta come discriminante fra due versioni).


Ciao.

Loading