Method Overloading

Method overriding ile konumuza devam ediyoruz.

Bir önceki yazımızda Methodları ve Class yapısına dışarıdan nasıl erişeceğimizi irdeledik. Static metotların ne işe yaradığını, nasıl çağırılacağını gördük. Şimdi de bir önceki yazıda kullandığımız class ın (RastGeleSayiUret.cs) SayilariCarp metodunun overloaded halini göreceğiz.

Overload nedir peki?

Overload, aynı isimde bir metodun, farklı türde parametre alarak veya farklı sayıda parametre alarak aynı işi görmesi demektir. Örnek verecek olursak, SayilariCarp() metodumuz int türünden iki parametre alsın: (sayi1, ve sayi2)

 public static int SayilariCarp(int sayi1, int sayi2)
 {
   return sayi1 * sayi2;
 }

Bu static metod, iki sayıyı çarpıyor. Ya üç sayıyı çarpamamız gerekseydi? İşlem yine çarpma, o zaman başka bir metod yazarak, kod kalabalığı ve kafa karışıklığına meydan vermemek için, aynı metodu 3 parametreli olarak kullanabilme olayına, overloaded method denir. (Aşırı yüklenmiş methodlar).

Örnek verecek olursak :

 public static int SayilariCarp(int sayi1, int sayi2, int sayi3)
 {
   return sayi1 * sayi2 * sayi3;
 }

Dikkat ederseniz, overloaded metodların isimleri aynı olmak zorundadır. Ama aldıkları parametrelerin sayısı farklı olmalıdır.
Parametrelerin türleri de aynı olmak zorunda değildir. Yeter ki metotlar, parametreleri sayesinde birbirinden ayrılabilsinler.

Kodumuzu RastGeleSayiUret.cs sınıfında yazıp herhangi bir sayfanın pageload event inde çağıralım :

image

Label1 ‘e RastgeleSayiUret sınıfından türettiğimiz SayilariCarp metoduna 8 ve 7 parametresini verdik. Label2′ye de aynı sınıfın aynı metodunun ama bu sefer 3 parametrelisini verdik. Dikkat edin, metod isimleri aynı, parametre sayıları farklı (parametre türleri bu örnekte aynı, ama değişik de olabilirdi) Bakalım örneğimiz ne sonuç verdi?

Static olmayan metotların kullanımı ile devam edeceğiz inşallah.

You can leave a response, or trackback from your own site.