Merhabalar ;
Bu yazımızda Overloaded yani Aşırı yüklenmiş metodlar üzerinde duracağım.
Overloaded Metodlar nedir ne işe yararlar kabaca anlatalım, daha sonrada bir örnek yapalım.
Aşırı yüklenmiş metodlar adında anlaşıldıgı gibi
aynı isimde farklı işleri yerine getiren metodlardır. Resimde DataTable nesnesinin 3 tane Overloaded metodu oldugunu görüyoruz.
Bir metod aşırı yüklenmesi için kesinlikle aynı isime sahip olmalıdır ve farklı tipde değer döndermeli yada farklı sayıda (yada tipde) parametre almalıdır. Yani bir birinin aynı olan metod hata verecektir.
Bu bilgiler ışığında kendi örnegimizi yapıyoruz.
Topla adında bir metod tanımlayalım ve bunu 3 aşırı yükleme yapalım.
// 2 para metreli 1. toplama metodumuz
private int topla(int sayi1, int sayi2)
{
return sayi1 + sayi2; // 2 sayıyı toplar tam sayı olarak geri dönderir
}
// 3 parametreli 2. toplama metodumuz
private int topla(int sayi1, int sayi2, int sayi3)
{
return sayi1 + sayi2 + sayi3;
// 3 sayıyı toplar tam sayı olarak geriye dönderir
}
// 3 parametreli 3. metodumuz (dikkat ederseniz bu strin türünden parametre alır)
private string topla(string sayi1, string sayi2, string sayi3)
{
return sayi1 + sayi2 + sayi3;
// 3 string paramereti alır string olarak geriye dönderir}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(topla(1,1).ToString());
MessageBox.Show(topla(1,1,1).ToString());
}
Geriye dönen degerler 2 ve 3 olacaktır.
Pekiii hemen akla şu soru gelecektir.
---string dönderen metodda 3 parametreli program nasıl anlayacak toplayacakmı yoksa bu stringleri birleştirecekmi??????
cevabı tabi gayet basit girilen bi ifadenin string olarak algılanması için " " (çift tırnak) içine alınması gerekir.
Hatırlayacagınız gibi 1 kendi başına int degeri taşırken "1" string olarak tanınacaktır.
Buna göre şöyle kullanılmalı;
MessageBox.Show(topla("1","1","1").ToString());
Dönen sonuç tabikide 111 olacaktır.
Konularımız biraz daha detaya doğru gidecek. Umarım buraya kadar anlatılanlar faydalı olmuştur.
Bir sonraki yazımda görünşüceye kadar mutlu kalın....