Junior
Kas jāatšķir divām metodēm, lai tās varētu uzskatīt par pārslogotām?
sobes.tech AI
Atbilde no AI
Lai divas metodes uzskatītu par pārlādētu, tās ir jāatbilst šādiem nosacījumiem:
- Tāds pats metodes nosaukums. Metodes nosaukumam jābūt identiskam.
- Atšķirīga metodes signatūra. Metodes signatūra ietver metodes nosaukumu un parametru tipu sarakstu (to skaitu, kārtību un tipus). Metodes atgriešanas tips nav signatūras daļa un neietekmē pārlādi.
Piemēri:
class Example {
void print(int num) { // Signatūra: print(int)
System.out.println(num);
}
void print(String text) { // Signatūra: print(String)
System.out.println(text);
}
void print(int num, String text) { // Signatūra: print(int, String)
System.out.println(num + " " + text);
}
// Tas nav pārlāde, jo signatūra print(int) atkārtojas
// int print(int num) {
// return num;
// }
}
Tabula, kas ilustrē pārlādes piemērus:
| Metodes nosaukums | Parametru tipi | Vienādi / dažādi metodes | Vai tas ir pārlādēšana? | Iemesls |
|---|---|---|---|---|
calc |
(int, int) |
Dažādi | Jā | Atšķirīga signatūra (parametru skaits un tipi) |
calc |
(double, double) |
Dažādi | Jā | Atšķirīga signatūra (parametru tipi) |
calc |
(int, int, int) |
Dažādi | Jā | Atšķirīga signatūra (parametru skaits) |
calc |
() |
Dažādi | Jā | Atšķirīga signatūra (parametru skaits) |
calc |
(int, int) |
Vienādi | Nē | Vienāda signatūra |
calculate |
(int, int) |
Dažādi | Nē | Atšķirīgs metodes nosaukums |