Junior
Ikki metodni qanday ajratish kerakki, ularni ortiqcha yuklangan deb hisoblay olamiz?
sobes.tech AI
AIdan javob
Ikki metodning to'liq hisoblanishi uchun quyidagi shartlar bajarilishi kerak:
- Xuddi shunday metod nomi. Metodlarning nomi bir xil bo'lishi kerak.
- Turli metod imzosi. Metod imzosi metod nomi va parametr turlarining ro'yxatini o'z ichiga oladi (ularning soni, tartibi va turlari). Metodning qaytarish turi imzoning bir qismi emas va overload qilishga ta'sir qilmaydi.
Misollar:
class Example {
void print(int num) { // Imzo: print(int)
System.out.println(num);
}
void print(String text) { // Imzo: print(String)
System.out.println(text);
}
void print(int num, String text) { // Imzo: print(int, String)
System.out.println(num + " " + text);
}
// Bu overload emas, chunki print(int) imzosi takrorlanadi
// int print(int num) {
// return num;
// }
}
Overload misollarini ko'rsatadigan jadval:
| Metod nomi | Parametr turlari | Bir xil / turli metodlar | Overloadmi? | Sababi |
|---|---|---|---|---|
calc |
(int, int) |
Turli | Ha | Turli imzo (soni va turlari) |
calc |
(double, double) |
Turli | Ha | Turli imzo (parametr turlari) |
calc |
(int, int, int) |
Turli | Ha | Turli imzo (soni) |
calc |
() |
Turli | Ha | Turli imzo (soni) |
calc |
(int, int) |
Bir xil | Yo'q | Bir xil imzo |
calculate |
(int, int) |
Turli | Yo'q | Metod nomi farq qiladi |