Sobes.tech
Junior

Ce trebuie să diferențieze două metode pentru a le putea considera suprasarcină?

sobes.tech AI

Răspuns de la AI

Pentru ca două metode să fie considerate suprasarcină, acestea trebuie să îndeplinească următoarele condiții:

  • Numele metodei identic. Numele metodelor trebuie să fie identic.
  • Semnătura metodei diferită. Semnătura metodei include numele metodei și lista tipurilor de parametri (cantitatea, ordinea și tipurile). Tipul de returnare al metodei nu face parte din semnătură și nu afectează suprasarcina.

Exemple:

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

    void print(String text) { // Semnătură: print(String)
        System.out.println(text);
    }

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

    // Acesta nu este suprasarcină, deoarece semnătura print(int) se repetă
    // int print(int num) {
    //     return num;
    // }
}

Tabel care ilustrează exemple de suprasarcină:

Numele metodei Tipuri de parametri Metode identice / diferite Este suprasarcină? Motivul
calc (int, int) Diferite Da Semnătură diferită (număr și tipuri de parametri)
calc (double, double) Diferite Da Semnătură diferită (tipuri de parametri)
calc (int, int, int) Diferite Da Semnătură diferită (număr de parametri)
calc () Diferite Da Semnătură diferită (număr de parametri)
calc (int, int) Identice Nu Semnătură identică
calculate (int, int) Diferite Nu Numele metodei diferit