Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA] - Sovvraccarico dei metodi

    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 */

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    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
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.