Sobes.tech
Junior

Cosa deve distinguere due metodi affinché possiamo considerarli sovraccarichi?

sobes.tech AI

Risposta dell'AI

Perché due metodi siano considerati sovraccarichi, devono soddisfare le seguenti condizioni:

  • Nome del metodo uguale. Il nome dei metodi deve essere identico.
  • Firma del metodo diversa. La firma del metodo include il nome del metodo e la lista dei tipi di parametri (la loro quantità, ordine e tipi). Il tipo di ritorno del metodo non fa parte della firma e non influisce sulla sovraccaricabilità.

Esempi:

class Example {
    void print(int num) { // Firma: print(int)
        System.out.println(num);
    }

    void print(String text) { // Firma: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // Firma: print(int, String)
        System.out.println(num + " " + text);
    }

    // Questo non è sovraccarico, poiché la firma print(int) si ripete
    // int print(int num) {
    //     return num;
    // }
}

Tabella che illustra esempi di sovraccarico:

Nome del metodo Tipi di parametri Metodi uguali / diversi È sovraccarico? Motivo
calc (int, int) Diversi Firma diversa (quantità e tipi di parametri)
calc (double, double) Diversi Firma diversa (tipi di parametri)
calc (int, int, int) Diversi Firma diversa (quantità di parametri)
calc () Diversi Firma diversa (quantità di parametri)
calc (int, int) Uguali No Firma uguale
calculate (int, int) Diversi No Nome del metodo diverso