C# ile metotlara giriş ve metotolar ile ilgili önemli özellikler

Yazdığımız programlarımızın herhangi bir işi yerine getirmek için tasarladığımız alt programlara metot denir . Metotlar tek başlarına çalıştırabileceğimiz kod parçacıkları değillerdir . Ancak mototları metotlar çağırabilir ve iç içe ya da tek metotdu ana main metodumuz çağırabilşmektedir . Şöyle ki birinci metot toplama işlemi ikinci metot çıkarma işlemi yaptırdığınızda bu metotları ekrana basabilmeniz yani işleme sokabilşmeniz için main metodunun içinde kullanmanız gerekir .

Metotlar yazılırken bir işlem yaptırmak için yazılırlar , işlemi yaptıklarında tekrar geriye sonuç döndürürler tabi her zaman geriye sonuç döndürmeyede bilirler .

Metotlar bir kere yazılır ve birçok alt program tarafından tekrar tekrar çağırılarak kullanılabilirler . C# ‘ta metotlar tamamen birer nesnedir ve . operatörü ile erişilirler .

Sorunsuz ve stabil kod yazmak isteyen yazılımcılar kesinlikle bir metoda birden fazla iş yüklememelidir . Örneğin metot string replace işlemi yaptığı bir yapıda kaç kaç dizi elemanının olduğu bir işlem yaptırılmamalıdır . 

Metot Bildirimleri

Metotlar mutlaka bir sınıfın içind tanımlanmalıdırlar aksi halde debug işlemi yapılamayacaktır .

C# ile metot bildirimi aşağıdaki gibi yapılır ;

 

erisim_belirtecleri   geri_donus_degeri   metot_ismi (parametre_degerleri)
{
   // Metodun işlem yaptırılacak gövdesi
}

Erişim belirteci = Metoda programın nereden ulaşılabileceği tanımlanır . Bu değer girilmesi zorunlu değildir . Eğer herhangi bir değer girilmez ise sadece sınıf içerisinden erişilebilir ( private ) olarak tanımlanır .

Geri Dönüş Değeri = Metotda iş yaptırıldığında kendisini çağıran fonksiyona geri döndürdüğü veri tipidir . Her tip değerini alabilir .

Örnek 

int toplamaIslemi(int sayi1, int sayi2)
{
  return sayi1 + sayi2;
}

İlk metodumuzu yukarıdaki gibi yazdık . Peki metodumuzu nasıl çalıştıracağız .

static void main()
{
  toplamaIslemi(10,3);
}

Üstteki yazımda da belirttiğim gibi metotlar kendi başlarına çalıştırılamazlar . Metotdlar main motodu ile çağırılıp işlem yaptırılmaları gereklidir . Örnekte oluşturduğumuz metodu main metodu ile çağırdım , metodumuz sayi1 ve sayi2 int tipindeki iki değişken alıyor . Aldığı değişkenleri de metot içerisinde toplayarak return ile geri bildiriyor . Main metodu içerisinde sayi1 = 10 sayi2 = 3 sayılarını gönderdim sonuç olarak geriye 13 sayısını döndürecektir .

Metotların geri dönüş değerleri bir nesne değildir . Nesne olmadığı için metotların geri dönüşlerinde bir atama işlemi yaptırılamaz .

toplamaIslemi(10,3) = 15;

gibi bir işlem yaptırılmaya kalkılırsa program hata verecektir .

Geri Dönüş Değeri Olmayan Metotlar

Metotlarda geri dönüş değeri her zaman olmayabilir . Örneğin Consele.WriteLine(); metodunun geri dönüş değeri yoktur . Bu metot kendisine gönderilen değeri ekrana yazmakta kullanılır .

Geri dönüş değeri olmayan metotlar void anahtar sözcüğü ile tanımlanır .

static void yazdir()
{
  Console.WriteLine("rahimcan.com");
}

static void Main()
{
  yazdir(); // Bu işlem Konsol uygulaması ile çalıştırdığınızda ekrana rahimcan.com yazacaktır . 
}

Metotlar İle İlgili Önemli Özellikler

  • Metotları tanımlarken değişken oluşturma kurallarına uyulması gereklidir . Main() metodu önceden tanımlandığı için Main adında bir metot oluşturamayız .
  • Parametre değeri alan metotlara eksiksiz değer gönderilmesi gereklidir . Aksi halde metot hata verecektir ve sizin tam değer göndermenizi bekleyecektir .
  • Metotların geri dönüş değeri mutlaka olmalıdır . Geri dönüş değeri olmayan metotlar void ile tanımlanıp geri dönüşü olmayacağı belirtilmelidir .
  • Metotların deri dönüş değerleri uyumlu türden dönmelidir . Metodunuzu int tanımlayıp geri dönüşünüz double ise program hata verecektir . Gizli tür dönüşümü yapan türlerde geçerli değildir .
  • Geri dönüş değeri olmayan metotlar gibi parametre almayan metotlarda olabilir . Paremetre almayan metotların parametre parantezlerinin arası boş bırakılır .
  • Metot içinde metot bildirilemez
int toplamaIslemi(int a,int b)
{

   string void yazdir()
  {
    Console.WriteLine("Hatalı Metot Bildirimi Yapıldı.");
  }

}

Yukarıdaki metot hata verecektir çünkü metot içerisinde metot bildirimi yapılamaz .

Bu makalede kısaca metotları anlatmaya çalıştım . Diğer makalemde değer ve referans tipleri , ref ve out anahtar sözcükleri , metotların aşırı yüklenmesi konularına değineceğim .