C# Metotlar ve Metot Tanımlama

Metot Kavramı
Metotlar bir program içerisinde aynı işi gerçekleştiren satırları belirli düzende sadece bir kez oluşturarak gerektiğinde tekrar tekrar kullanabilmemizi sağlayan alt programlardır. Metotlar sayesinde kod tekrarları yapmadan daha anlaşılır bir şekilde kodlama yapılabilmektedir.


! Metotlar direk olarak çalışmazlar ancak program içerisinde çağrılarak çalıştırılabilirler. Bir metot bir amacı gerçekleştirmeye yönelik olarak yazılır. Metot içerisinde bir veya daha fazla ifade bulunabilir.

Metot Tanımlama
! Her bir metot tanımlanırken metot a bir isim verilir. Metot çağrılırken verilen isim kullanılarak çağrılır.
! Bazı metotlar dışarıdan değer alabilirler. Dışarıdan gönderilen değerlere parametre denir.
! Yapılan işlem sonucunda bazı bilgiler metotlar ile metodun çağrıldığı bölüme tekrar gönderilebilir. Bu metotlar geri değer döndüren metotlardır.

<erişim biçimi> <Döndürülecek değer türü><Metodun ismi>(Parametre)
{
Çalıştırılacak kodlar;
}

Bir fonksiyon içerisinde şunları bulundurur.
Public (*)
Yapı
Tip
Fonskiyonun İsmi
Parametreler
Yapılacak İşlemler
Geri Dönüş Değişkeni (*)
* : Opsiyoneldir her fonksiyonda bulunmayabilir.

Public : Bir fonksiyonun başında public kelimesi varsa bu fonksiyon programın bütün sınıfları içerisinde kullanılabilir. Fakat yoksa sadece o sınıf içerinde kullanabilir.

Yapı : Bir fonksiyonun iki çeşit yapıdan oluşur. Dinamik fonksiyonlar ve statik fonksiyonlar. Bunlara bir sonraki yazıda ayrıca değinilecektir.

Tip : Programın geri döndürdüğü tipi belirler.int,string,char,void,boolean gibi bir çok tip belirlenebilir. Export yani fonksiyonun çıktı verisi.

Fonksiyon İsmi : Bir fonksiyonun mutlaka bir ismi de olmak zorundadır. Çünkü fonksiyonu çağırdığımız zaman kendisini bilsin. Fonksiyonun ismini belirlerken tıpkı değişken ismi belirlediğimiz gibi belirlemeliyiz. Türkçe karakterler kullanılmaz , sayı ile başlamaz vs vs..

Parametreler : Fonksiyona dışardan girilecek değişkenlerin tamamı parametre olarak tanımlanır.Birden fazla parametre tanımlarken değişkenler arasına ,(virgül) koymamız gerekir ve her seferinde parametre olarak alınıcak değişkenlerin tipleri de belirtilmelidir. Import yani fonksiyonun veri girdisi.

Yapılacak İşlemer : Yukarıdaki kısımlar uygulandıktan sonra { ve } blokları arasına fonksiyonun görevi yazılmalıdır. Import olarak alınan parametreler buradan kullanılır ve return yapısıya fonksiyonun kendisine export edilir.

Geri Dönüş Değişkeni : Bir fonksiyon geriye herhangi bir değer döndürüyorsa return yapısıyla bu işlem yapılır. Fonksiyon işlemlerini yaptıktan sonra sonuç itibariyle bir değer üretiyorsa bu değeri fonksiyona aktarmamız gerekecektir. Bu değeri taşıyan değişken bizim geri döndürmemiz gereken değerdir. Bir değişken içindeki değeri fonksiyonun kendisine aktarmak istiyorsanız return değişkenadi; yapmanız gerekir. Mesela void tipinde bir fonksiyonun geriye dönüş değişkeni olması gerekmez çünkü sadece ekrana yazı yazacaktır. Burada return kullanmamız gerekmez. Şuna da dikkat etmek gerekir. Geri dönüş değişkeninin tipiyle fonksiyonun tipi aynı olmalıdır. Aksi halde program hata verir.

Metotlar  iki çeşittir;


Değer Döndüren Metotlar
Değer Döndürmeyen Metotlar

Değer Döndürmeyen Metotlar
Bu metotlar, geri değer döndürmeyen ve kendi içine yazılı kodları çalıştıran metotlardır.

Örnek;
class Program  
{  
   static void MerhabaYaz()    
   {   
      Console.WriteLine("Merhaba");  
   }   
   static void Main(string[] args)   
   {  
      MerhabaYaz(): // metodun çağrılarak çalıştırılması  
      Console.ReadKey();  
   }  
}  
! Metot ana programdan direk çağrıldığı için static erişim tipinde tanımlandı. Metod geriye değer döndürmediği için dönüş değeri kısmı void olarak belirlendi. Metot adı MerhabaYaz() olarak belirlendi Parametre almadığı için parantez içi de boş bırakıldı.

Değer Döndüren Metotlar
Bu metotlar, parametre kullanarak geriye değer döndüren metotlardır.

Örnek;
    class Program
    {
        static int faktoriyelhesapla(int n)
        {
            int snc = 1;
            for (int i = 1; i <= n; i++)
            {
                snc = snc * i;
            }
            return snc;
        }
        static void Main(string[] args)
        {
            int r = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine(faktoriyelhesapla(r));
            Console.ReadLine();
        }
    }

Yorum Gönder Blogger

 
Üst