Metotları kısaca açıklamak gerekirse, belirli bir işlevi yerine getirmek için hazırlanmış belir bir kod bloğunu bir isim altında toplayıp. Kodu çalıştırmak istediğimiz yerde vermiş olduğumuz isimle çağırıp içerisinde ki kodun yeniden kullanılmasına izin veren programlama yapılarıdır.
Metotlar matematikteki kümelere benzerler. Örneğin matematikte D = { f, a, t, i, h } şeklinde bir küme tanımlayalım. Yani beş elemanlı bir küme tanımlamış olduk. Şimdi biz bu kümeyle bir başka yerde işlem yapmak istersek tek tek elemanlarını yazmak yerine “D” kümesi şeklinde sesleniriz. Burada seslendiğimiz “D” kümesi artık bize kümenin içerisindeki “f, a, t, i, h” karakterleri temsil eder. Metotlarda bu şekildedir.
Örneğin: IsımYaz { C#’da ekrana isim yazma kodları } şeklinde bir metot tanımladık yani metot ismi: IsımYaz metot içeriğise ekrana isim yazan kodlardan oluşuyor. Artık nerede IsımYaz desek bize ekrana isim yazan kodları döndürecektir.
Her metot bir isim ve bir de kod bloğundan oluşur. Method isminin altına açılan{} süslü parantezlerin içerisinede gerçekleştirilmesini istediğimiz kod bloklarını yazarız.
Metotlar belirli bir görevi yerine getirmenin yanı sıra, kod bloğu içerisinde kullanılması için girdi olarak veri
aktarabilir veya metot içinde çalışan kodların sonucunda bilgi döndürebilir. Ayrıca;
C# dilinde bir metot tanımlamak için aşağıdaki yapı kullanılır:
[erişim_belirleyici] [dönüş_tipi] [metot_adı]([parametreler])
{
// Metot içinde yapılacak işlemler
}
Oluşturduğumuz methodu kullanmak istediğimizde ise aşağıda ki gibi çağırmamız gerekmektedir.
[metot_adı]([parametreler])
Örnek bir metot tanımı:
public int Topla(int sayi1, int sayi2)
{
return sayi1 + sayi2;
}
Bu metot, Topla
adında bir metottur, int
türünde iki parametre alır (sayi1
ve sayi2
) ve bu parametreleri toplayarak sonucu döndürür.
Bir metodu kullanmak için, metodu çağıran bir kod satırı yazılır. Örnek olarak:
int sonuc = Topla(5, 3);
Console.WriteLine(sonuc); // Çıktı: 8
Bu kod, Topla
adlı metodu çağırarak 5
ve 3
sayılarını parametre olarak verir ve dönen sonucu sonuc
değişkenine atar.
Metot tipleri, bir metotun işlevselliği, geri dönüş değeri ve parametreleri üzerindeki kontrolü belirler. C# programlama dilinde ise metotlar genel olarak ikiye ayrılırlar Geri Değer Döndüren Metotlar (Parametreli/Parametresiz) Geriye Değer Döndürmeyen Metotlar (Parametreli/Parametresiz).
Geriye değer döndürmeyen metotlar, void
anahtar kelimesiyle belirtilirler ve herhangi bir değer döndürmezler. Genellikle bir işlemi gerçekleştirmek için kullanılırlar.
Parametresiz Geriye Değer Döndürmeyen Metotlar
public void BilgiGoster()
{
Console.WriteLine("Bilgi gösteriliyor...");
}
Bu metot herhangi bir parametre almaz ve sadece “Bilgi gösteriliyor…” metnini konsola yazdırır. Geriye herhangi bir değer döndürmez (void
).
Parametreli Geriye Değer Döndürmeyen Metotlar
public void EkranaYaz(string mesaj)
{
Console.WriteLine(mesaj);
}
Bu metot, string
türünde mesaj
adında bir parametre alır ve bu parametreyi konsola yazdırır. Geriye herhangi bir değer döndürmez (void
).
Geriye değer döndüren metotlar, belirli bir veri türünde bir değer döndürürler. Bu değer, metotun işlem sonucu veya hesaplama sonucu olabilir. Bu tür metotlar return
anahtar kelimesiyle değeri geri döndürürler.
Parametresiz Geriye Değer Döndüren Metotlar
public string Merhaba()
{
return "Merhaba, Dünya!";
}
Bu metot herhangi bir parametre almaz ve sabit bir metin olan “Merhaba, Dünya!” ifadesini geriye döndürür.
Parametreli Geriye Değer Döndüren Metotlar
public int Topla(int sayi1, int sayi2)
{
return sayi1 + sayi2;
}
Bu metot, int
türünde sayi1
ve sayi2
adında iki parametre alır ve bu parametrelerin toplamını geriye döndürür.
Özetle, Geriye değer döndüren metotlar, hesaplamalar ve işlemler sonucunda elde edilen değerleri döndürmek için kullanılırken, geriye değer döndürmeyen metotlar genellikle işlem yaparken geriye bir değer döndürmeye gerek olmadığında kullanılır.
Metot çağırma, bir program içinde tanımlı olan ve belirli bir işlevi yerine getiren bir metodu kullanma işlemidir. Metotlar, kodunuzu düzenlemek ve belirli işlevleri tekrar tekrar kullanmak için kullanışlıdır. Bu konuya bir önceki ünitemizde değinmiştik. Bir metodu çağırmak için genellikle şu adımları izlenir:
İşte bir örnek C# kodu, AddNumbers
adında bir metodu çağırıyor:
public class Program
{
public static void Main()
{
int result = AddNumbers(5, 10); // Metodu çağırma
Console.WriteLine("Toplam: " + result);
}
// Metodun tanımı
public static int AddNumbers(int a, int b)
{
return a + b;
}
}
Yukarıdaki örnekte, AddNumbers
adında bir metot tanımlanmıştır. Bu metot, iki tamsayı parametresi alır ve bu parametrelerin toplamını döndürür. Main
metodu içinde bu AddNumbers
metodu çağrılarak, metot çalıştırılır ve sonuç ekrana yazdırılır.
Metodu çağırmak için kullanılan temel yapı MetodAdı(parametre1, parametre2, ...)
şeklindedir. Burada MetodAdı
, çağırılmak istenen metotun adıdır ve parantez içindeki parametreler ise metoda iletilen değerlerdir. Metotun geri dönüş değeri varsa, bu değer çağrıldığı yerde kullanılabilir veya işlenerek başka bir amaç için kullanılabilir.
static
anahtar kelimesi birçok farklı bağlamda kullanılabilir. Static anahtar kelimesini özellik OOP konusunda static başlığı altında detaylıca incelenmiştir. Yalnızıca yukarıdaki örneğimizde kullanma zorunluluğunda kaldığımızdan dolayı ufak bir açıklama yapalım.
static
anahtar kelimesi, temel olarak bir metodu veya bir üyeyi sınıfın örneklerinden (instance) bağımsız bir şekilde kullanılabilir hale getirmek amacıyla kullanılır.
static anahtar kelimesiyle ilgili bilmemize gereken diğer bir nokta ise static bir metot veya sınıf içerisinde yalnızca static metotlar ve üyeler barındırılabilir. Main Metot’da static bir metot olduğundan dolayı Main metodun içerisinde çağırmak istediğimiz metotlarıda static olarak işaretlemek zorundayız. Bu nedenle bizde yukarıda tanımladığımız metodu static olarak işaretledik.