Sobes.tech
Junior

Ի՞նչ պետք է տարբերի երկու մեթոդներին, որպեսզի մենք կարողանանք դրանք համարել բեռնված։

sobes.tech AI

Պատասխան AI-ից

Որպեսզի երկու մեթոդներ համարվեն ավելորդ բեռնված, նրանք պետք է համապատասխանի հետևյալ պայմաններին:

  • Անվանում նույնը։ Մեթոդների անունը պետք է լինի նույնը:
  • Տարբեր մեթոդի ստորագրություն։ Մեթոդի ստորագրությունը ներառում է մեթոդի անունը և պարամետրերի տիպերի ցանկը (նրանց քանակը, կարգը և տիպերը): Մեթոդի վերադարձի տիպը չի մաս կազմում ստորագրությանը և չի ազդում ավելորդ բեռնման վրա:

Օրինակներ:

class Example {
    void print(int num) { // Ստորագրություն: print(int)
        System.out.println(num);
    }

    void print(String text) { // Ստորագրություն: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // Ստորագրություն: print(int, String)
        System.out.println(num + " " + text);
    }

    // Սա ավելորդ բեռնվածություն չէ, քանի որ print(int) ստորագրությունը կրկնվում է
    // int print(int num) {
    //     return num;
    // }
}

Տախտակ, որը ցույց է տալիս ավելորդ բեռնվածության օրինակներ:

Մեթոդի անունը Պարամետրերի տիպեր Միևնույն / տարբեր մեթոդներ Ավելորդ բեռնվածություն է՞ Պատճառը
calc (int, int) Տարբեր Այո Տարբեր ստորագրություն (քանակ և տիպեր պարամետրերի)
calc (double, double) Տարբեր Այո Տարբեր ստորագրություն (պարամետրերի տիպեր)
calc (int, int, int) Տարբեր Այո Տարբեր ստորագրություն (քանակ պարամետրերի)
calc () Տարբեր Այո Տարբեր ստորագրություն (քանակ պարամետրերի)
calc (int, int) Դրական Ոչ Դրական նույն ստորագրություն
calculate (int, int) Տարբեր Ոչ Այլ մեթոդի անուն