Sobes.tech
Junior

Mitől különböznek két módszer, hogy túlterhelésnek tekintsük őket?

sobes.tech MI

Válasz az MI-től

Ahhoz, hogy két módszert túlterhelésnek tekintsünk, azoknak a következő feltételeknek kell megfelelniük:

  • Ugyanaz a metódus neve. A metódusok neve azonos legyen.
  • Különböző metódusszignatúra. A metódus szignatúrája magában foglalja a metódus nevét és a paramétertípusok listáját (számukat, sorrendjüket és típusukat). A metódus visszatérési típusa nem része a szignatúrának, és nem befolyásolja a túlterhelést.

Példák:

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

    void print(String text) { // Szignatúra: print(String)
        System.out.println(text);
    }

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

    // Ez nem túlterhelés, mert a print(int) szignatúra ismétlődik
    // int print(int num) {
    //     return num;
    // }
}

Tábla, ami a túlterhelés példáit mutatja:

Metódus neve Paramétertípusok Ugyanazok / különböző módszerek Túlterhelésnek számít? Ok
calc (int, int) Különböző Igen Különböző szignatúra (paraméterek száma és típusai)
calc (double, double) Különböző Igen Különböző szignatúra (paramétertípusok)
calc (int, int, int) Különböző Igen Különböző szignatúra (paraméterek száma)
calc () Különböző Igen Különböző szignatúra (paraméterek száma)
calc (int, int) Ugyanaz Nem Ugyanaz a szignatúra
calculate (int, int) Különböző Nem Más metódusnév