Yöntem aşırı yükleme kuralları hakkında bana bilgi ver.
sobes.tech yapay zeka
AI'dan gelen yanıt
Nesne yönelimli programlamada (Method Overloading), aynı isimde, ancak farklı imzalarla birden fazla metodun tanımlanmasına olanak tanır.
Metot Aşırı Yüklemesi için temel kurallar:
-
İmza farkı: Bir metodun imzası, metodun adı ve parametrelerinin türlerinin listesi ile ilgilidir. Metotlar aşırı yüklenmiş sayılabilmesi için, imzalarının farklı olması gerekir.
// Farklı imza örnekleri void print(int i) { } void print(String s) { } void print(int i, String s) { } void print(String s, int i) { } // Parametre sırası farklı -
Metodun adı aynı olmalı: Aşırı yüklenmiş metodlar aynı ada sahip olmalıdır.
// Doğru aşırı yükleme örneği class Example { void process(int a) { } void process(double b) { } } -
Dönüş tipi imzanın bir parçası değildir: Sadece dönüş tipini değiştirmek, metodların aşırı yüklenmiş olmasını sağlamaz. Derleyici, parametre imzaları aynıysa hangi metodun çağrılacağını ayırt edemez.
// Aşırı yükleme değil - derleme hatası int calculate() { return 1; } String calculate() { return "error"; } -
Erişim belirteçleri ve istisna bildirimleri aşırı yüklemeyi etkilemez: Dönüş tipine benzer şekilde, sadece erişim belirteçleri (
public,private,protected, default) veya atılan istisnalar (throws) listesi değiştirildiğinde, aşırı yükleme gerçekleşmez.// Aşırı yükleme değil - derleme hatası, parametre imzaları aynıysa public void doSomething() { } private void doSomething() { } -
Parametre sırası önemlidir: Parametrelerin türlerinin sırasını değiştirmek, farklı imzalar oluşturur.
// Aşırı yükleme void setup(int width, int height) { } void setup(int height, String unit) { } // İkinci parametre farklı void setup(String unit, int size) { } // Tür ve sıralama farklı -
Parametre sayısı önemlidir: Farklı parametre sayıları, farklı imzalar anlamına gelir.
// Aşırı yükleme void log(String message) { } void log(String message, int level) { }
Bu nedenle, Method Overloading için anahtar faktör, metodun imzasının benzersizliğidir; bu, metodun adı ve parametrelerin (türler ve sıralama) kümesi ile belirlenir.