Junior
Čo musí odlišovať dve metódy, aby sme ich mohli považovať za preťažené?
sobes.tech AI
Odpoveď od AI
Da bi sa dve metódy považovali za prepísané, musia splniť nasledujúce podmienky:
- Rovnaké meno metódy. Názov metódy musí byť identický.
- Rozličná signatúra metódy. Signatúra metódy zahŕňa názov metódy a zoznam typov parametrov (ich počet, poradie a typy). Typ návratu metódy nie je súčasťou signatúry a neovplyvňuje prepísanie.
Príklady:
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);
}
// Toto nie je prepísanie, pretože signatúra print(int) sa opakuje
// int print(int num) {
// return num;
// }
}
Tabuľka ilustrujúca príklady prepísania:
| Názov metódy | Typy parametrov | Rovnaké / rozličné metódy | Je to prepísanie? | Dôvod |
|---|---|---|---|---|
calc |
(int, int) |
Rozličné | Áno | Rozličná signatúra (počet a typy parametrov) |
calc |
(double, double) |
Rozličné | Áno | Rozličná signatúra (typy parametrov) |
calc |
(int, int, int) |
Rozličné | Áno | Rozličná signatúra (počet parametrov) |
calc |
() |
Rozličné | Áno | Rozličná signatúra (počet parametrov) |
calc |
(int, int) |
Rovnaké | Nie | Rovnaká signatúra |
calculate |
(int, int) |
Rozličné | Nie | Iné meno metódy |