Method Overloading
Coddy'nin Java Journey'sinin Temeller bölümünün bir parçası — ders 54 / 73.
Java'da, metot aşırı yüklemesi ile aynı ada sahip ancak farklı parametrelere sahip birden fazla metodu tanımlamanıza olanak tanır. Bu, benzer bir işlevi yerine getiren ancak farklı veri türleri üzerinde çalışan veya farklı sayıda argüman alan birkaç metot sahibi olabileceğiniz anlamına gelir.
Anahtar nokta, her aşırı yüklü metodun benzersiz bir metod imzasına sahip olmasıdır. Metod imzası, metodun adı ile parametrelerinin türü ve sırası tarafından belirlenir.
Metod aşırı yüklemesi için temel kurallar şunlardır:
- Aynı Ad: Tüm aşırı yüklenmiş metotlar aynı ada sahip olmalıdır.
- Farklı Parametreler: Metodun her sürümü farklı sayıda parametreye, farklı parametre tiplerine veya her ikisine sahip olmalıdır.
- Dönüş Türü Yeterli Değil: Aşırı yüklenmiş metotlar yalnızca dönüş türü bakımından farklılık gösteremez. Farklı parametre listelerine sahip olmalıdırlar.
İşte metot aşırı yüklemesini göstermek için bir örnek:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}Bu örnekte, add adında üç metod vardır. Birincisi iki tamsayı toplar, ikincisi iki double toplar ve üçüncüsü üç tamsayı toplar.
Java, metod çağrısı sırasında geçirilen argümanlara göre hangi metodu çağıracağına karar verir.
Metod aşırı yüklemesi kodu daha okunabilir ve yeniden kullanılabilir hale getirir. Benzer görevleri gerçekleştiren metotlar için farklı isimler oluşturmak yerine (örneğin, addInts, addDoubles, addThreeInts), tek bir isim olan add kullanabilir ve derleyicinin bağlama göre uygun metodu seçmesine izin verebilirsiniz.
Unutmayın: aşırı yükleme farklı parametre türleri veya sayıları gerektirir, sadece farklı parametre adları veya dönüş türleri değil.
Kopya kağıdı
Metot aşırı yükleme, aynı ada sahip ancak farklı parametrelere sahip birden fazla metodu tanımlamaya olanak tanır:
Metot aşırı yükleme kuralları:
- Aynı metot adı
- Farklı parametreler (sayı, tür veya sıra)
- Yalnızca dönüş tipi aşırı yükleme için yeterli değildir
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}Java, metot çağrısı sırasında geçirilen argümanlara göre hangi metodu çağıracağını belirler.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison10Methods (Functions)
Declaring MethodsMethod ParametersReturn TypesMethod OverloadingRecap - Sigma FunctionRecap - Validation FunctionVoid Methods5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else