C# Dersleri 16 - Methodlar

   Method, isim verip istediğimiz zaman tekrar kullanabileceğimiz kod bloklarıdır. Bir uygulamada aynı kod bloğunun tekrar tekrar çalışması gerekiyor olabilir. Aynı kod bloğunu farklı yerlere yazmak(ya da kopyalamak) kod kirliliğine yol açacak ve kodunuzun okunabilirliğini düşürecektir. Böyle durumlarda bu kod bloğunu method haline getirip, kod bloğunu kopyalamak yerine methodu çağırırız.     

private void btnClick_Click(object sender, EventArgs e)
{
    Message();  //methodun çağrıldığı yer
}

void Message()
{
    MessageBox.Show("Merhaba"); //methodun yapacağı işlem
}

     Örnekte Message adında bir method oluşturuyoruz. void keywordu methodun dönüş tipini belirtir(birazdan detaylandıracağım). Dönüş tipinden sonra methodun ismini yazıyoruz ki örnekte ismi Message. Bu tamamen bizim belirlediğimiz bir isim; yani istesek methodun adı Mahmut da olabilirdi. Method isminin yanına "()" ekliyoruz. Parantezlerin içinin boş olması, bu methodun parametre almadığı anlamına gelir. Daha sonra methodun içine, bu method çağrıldığında yapılacak işlemi kodluyoruz. 

     C++ gibi dillerde, fonksiyonun tanımlamasını, fonksiyonun çağrıldığı kod bloğundan yukarıda yapmak gerekiyor ancak C#'da böyle bir zorunluluk yok. 

     Gelelim methodların tekrar kullanılabilirliğine. Diyelim ki form üzerinde 2 button var ve ikisine de tıklayınca(nedense) MessageBox'ta "Merhaba" yazmasını istiyorsunuz. İki Button'un da click eventinde Message() methodumuzu çağırabilirsiniz. 

     Parametre Alan Methodlar     

private void btnClick_Click(object sender, EventArgs e)
{
    Message("Merhaba");  //methodun çağrıldığı yer, parametre : Merhaba
}

private void btnOther_Click(object sender, EventArgs e)
{
    Message("Naber");   //methodun çağrıldığı yer, parametre : Naber
}

void Message(string text)
{
    MessageBox.Show(text); //methodun yapacağı işlem
}

     Bir method yazarken, methodun tanımlaması sırasında parantezler içine o methodun alabileceği parametreleri yazabiliriz. Örnekte de görebileceğiniz gibi Message methodunun isminin yanındaki parantezler içinde "string text" yazıyor. string burada parametrenin data tipini belirtirken, text parametrenin adı oluyor. Gelen parametreyi MessageBox'ta gösteriyoruz. Böylelikle bu methodu her çağırdığımızda, MessageBox'ta ne yazacağını ayrı ayrı belirleyebiliriz. İlk Button'un click eventinde Message("Merhaba"); kod cümlesi, Message methodunu çağırırken parametre olarak "Merhaba" gönderiyor. Böylelikle kullanıcı ilk Button'a tıkladığında MessageBox'ta "Merhaba" yazıyor. İkinci Button'un click eventinde ise Message("Naber") kod cümlesi, Message methoduna parametre olarak "Naber" gönderiyor. Böylelikle kullanıcı ikinci Button'a tıkladığında MessageBox'ta "Naber" yazıyor.

     Birden Fazla Parametre Alan Methodlar 

     Bir methodun birden fazla parametre almasını istiyorsak, method tanımlaması sırasında parantezler içine parametre tip ve isimlerini virgülle ayırarak yazabiliriz.     

private void btnClick_Click(object sender, EventArgs e)
{
    Topla(3, 6);
}

void Topla(int x, int y)
{
    int z = x + y;
    MessageBox.Show(z.ToString());
}

     Topla methodunun iki tane parametre almasını istiyoruz ve iki parametre de int tipinde. Topla methodu gelen 2 int değeri toplayıp sonucu MessageBox'ta gösteriyor.

     Method Dönüş Tipleri 

     Her method bir dönüş tipi ile tanımlanmak zorundadır. Dönüş tipi(Return Type), bir methodun değer olarak döndüreceği datanın tipidir. Eğer dönüş tipi void ise, o method hiç bir değer döndürmeyecek demektir; yani kısaca return keywordu o methodda kullanılmayacak demektir.     

private void btnClick_Click(object sender, EventArgs e)
{
    int val = Topla(3, 6);

    MessageBox.Show(val.ToString());
}

int Topla(int x, int y)
{
    int z = x + y;
    return z;
}

     Bu örnekte Topla isimli methodumuzu int tipinde tanımladık. Bunun anlamı, bu method int tipinde bir değer "return etmek" zorundadır. return keywordu, methodun döndüreceği değer ile birlikte kullanılır ve bu keyworde geldiğinde method bitti demektir. return keywordunden sonraki kodlar çalıştırılmaz. Topla methoduna parametre olarak gelen x ve y değerlerini toplayıp z isimli değişkene atıyoruz. Daha sonra z değişkenini return ediyoruz.

     Bir methodun dönüş tipi C# dilinde geçerli herhangi bir veri tipi olabilir.

 

YORUMLAR
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f