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) |
Տարբեր | Ոչ | Այլ մեթոդի անուն |