Junior
İki yöntemi ayırt eden nedir ki onları aşırı yüklenmiş olarak kabul edebilelim?
sobes.tech yapay zeka
AI'dan gelen yanıt
İki metodun aşırı yüklenmiş sayılabilmesi için aşağıdaki koşulları sağlaması gerekir:
- Aynı metod adı. Metodların adı aynı olmalıdır.
- Farklı metod imzası. Metod imzası, metodun adı ve parametre türleri listesini içerir (sayıları, sıraları ve türleri). Metodun dönüş tipi imzanın bir parçası değildir ve aşırı yüklemeyi etkilemez.
Örnekler:
class Example {
void print(int num) { // İmza: print(int)
System.out.println(num);
}
void print(String text) { // İmza: print(String)
System.out.println(text);
}
void print(int num, String text) { // İmza: print(int, String)
System.out.println(num + " " + text);
}
// Bu aşırı yükleme değildir, çünkü print(int) imzası tekrar eder
// int print(int num) {
// return num;
// }
}
Aşırı yükleme örneklerini gösteren tablo:
| Metod Adı | Parametre Türleri | Aynı / Farklı metodlar | Aşırı yükleme mi? | Sebep |
|---|---|---|---|---|
calc |
(int, int) |
Farklı | Evet | Farklı imza (sayı ve türler) |
calc |
(double, double) |
Farklı | Evet | Farklı imza (türler) |
calc |
(int, int, int) |
Farklı | Evet | Farklı imza (sayı) |
calc |
() |
Farklı | Evet | Farklı imza (sayı) |
calc |
(int, int) |
Aynı | Hayır | Aynı imza |
calculate |
(int, int) |
Farklı | Hayır | Farklı metod adı |