Metotlar ve Dönüş Değeri Tipi

Programlarımızda iş yapan en temel parçalar metotlardır. Metotlar, sınıfların üye fonksiyonlarıdır.

Metot Bildirimi;

[erişim] <dönüş değeri> metot ismi (parametre listesi) {
     metot gövdesi;
}

şeklinde yapılır.

Bildirimdeki [erişim] seçeneği metoda nasıl ulaşılacağını gösterir. Eğer bir ifade yazılmazsa metot Private kabul edilir.

Yöntemler genelde public anahtar sözcüğü ile belirtilir. Böylece nesnenin kullanıcısı bu yöntemleri kullaanrak nesnenin private anahtar sözcüğü ile tanımlanmış ve dışa kapalı verilerine ulaşabilir.

C#’da tüm yöntemler sınıf içinde bildirilir ve tanımlanır. C# tamamen nesne tabanlı bir dil olduğundan, bir metot kullanılırken bulunduğu sınıf türünden bir nesne tanımlanır ve “.” operatörü ile metoda ulaşılır.

Geri dönüş değeri olmayan metotlar “void” olarak tanımlanır. “void” tanımlı bir fonksiyon için “return” kullanılamaz.

Örnek:

public void VoidMetodu() {
     Console.WriteLine("Bu metot bir değer döndüremez.");
}

public int Toplama(int x, int y) {
     int Sonuc;
     Sonuc = x + y;
     return Sonuc;
}

Eğer giriş parametresi yoksa parantez içi boş bırakılır.

Örnek:

void yaz() {
     Console.WriteLine("Ankara");
     return;
}

“static” olarak tanımlanan metotları çağırmak için bir nesne tanımlamaya gerek yoktur. Eğer metot, içinde olduğu sınıftan çağrılacaksa metodun sadece ismi yazılarak çalıştırılabilir, eğer sınıf dışından bir çağrım yapılacaksa “SinifAdi.Metot()” şeklinde çağrılmalıdır. Static tanımı ile oluşturulmuş metot için new operatörü ile yeni bir nesne tanımlamaya gerek yoktur.

Aşağıdaki örneği inceleyelim;

using System;
class Class1 {
     public static void Main() {
          Class1 fonk = new  Class1();
          int deger = fonk.topla(1, 2);
          Console.WriteLine(deger);
          Console.ReadKey();
     }
     public int topla(int sayi1, sayi2) {
          int toplam = sayi1 + sayi2;
          return toplam;
     }
}

Bu örnekte “Class1” sınıfı için “fonk” isimli bir nesne oluşturduk ve bu nesne sayesinde “topla” fonskiyonuna ulaştık. Nesnelerin mantığını şöyle özetleyebiliriz: Nesneleri tanımlayarak sınıfların özelliklerini bir nesneye yükleriz. Ardından bu nesne ile sınıf içindeki metot ve değişkenlere (Sadece özel izin verdiklerimize) ulaşabiliriz.

Örneği inceleyecek olursak, “fonk” isimli nesnemizi tanımlamak için;

Class1 fonk = new Class1();

kodunu yazdık. Nesne tanımlamak için önce ilişki kurulacak sınıfın adı yazılır. Ardından nesnenin adı yazılır. ” = ” işaretinden sonra “new” komutu ile sınıf adı tekrar yazılır. Parantezlerin kullanım amacı fonksiyon ve metotlardakine benzer mantıktır. Nesne tanımlandıktan sonra sınıf içindeki metot ve değişkenlere “.” işaretinden sonra metot veya değişken ismi yazarak ulaşabiliriz.

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.