Posted by : omerfarukkaya 17 Mart 2013 Pazar

Metod Nedir? Ne İşe Yarar?

Önce metodun ne olduğunu öğrenelim. Metod, iş yapan komut parçacıklarıdır. En kısa şekilde tanımlamak istersek herhalde en doğrusu bu olur.

Örnek verecek olursak, Console sınıfının altında yer alan ReadLine() ve WriteLine() birer metodtur.

Kafamızda daha iyi canlanması için günlük hayattan bir örnek verelim.

Bir şirketin Muhasebe, Sekreterlik ve Temizlik işini de yapan  şirket sahibini düşünelim. Ahmet bey, birgün keşke benim işim sadece Muhasebe ile ilgilenmek olsaydı deyip, şirkete bir temizlikçi ve bir tanede sekreter alırsa bir problemin parçalara ayrılarak sonucunu  bulunmasını sağlamış olur. Yani şirketin yönetimi ile ilgilenerek verdiği komutlar ile temizlikçiyi ve sekreteri yönlendirmiş olur. Ahmet Bey'in yapması gereken tek şey temizlikçiyi kontrol edip sekretere şunu ara ve şunları söyle demesidir.

Bu verdiğim örneği metod ile ilişkilendirecek olursak, Console ekranında yazdığımız main bloğu Ahmet Bey'in  metodları öğrenmeden önceki halidir. Toplama işleminide faktöriyel hasaplamayıda main bloğu içinde yapan ve yaptığı işleri her zaman tekrarlayan bu nedenle çok yorulan bir şirket sahibi :)

Peki bir temizlikçi alsa ve her seferinde temizlemektense senin işin burayı temizlemek deyip kendi işine bakarsa daha iyi olmaz mıydı? O zaman bizde hemen temizlikçiyi alalım. Hemen bir temizle metodu yazarak istediğimiz zaman çağıralım.

Umarım kafanızda bir şeyler canlanmıştır.

C# Dilinde Metodlar

[erişim belirleyici] [dönen değerin türü] [metod adı] ([metoda gelen değişkenler ve türleri])
{
         Metodun Gövdesi....
}

Yukarıda gördüğünüz şekil bir metodun yapısını oluşturur.

Erişim Belirleyici : Metoda dışarıdan ulaşılıp ulaşılamayacağını.

Dönen Değerin Türü : Metodun geriye döndüreceği değerin türü. Değer döndürmüyorsa void'tir.

Metod Adı : Metoda dışarıdan ulaşılacak ismi.

Gelen Değişkenler : Metodun dışarıdan alacağı değerler ve türlerdir.

Örnek : 5 ile 6 sayılarını toplayan ve aynı sayıların faktöriyellerinin toplamını bulan programı yazınız?

Çözümü metodları kullanmadan yazarsak;

 static void Main(string[] args)
        {
            int s1 = 5;
            int s2 = 6;

            Console.WriteLine(s1+s2);

            int fakt5 = 1;

            for (int i = 1; i <=5; i++)
            {
                fakt5 *= i;
            }

            int fakt6 = 1;

            for (int j = 1; j <= 6; j++)
            {
                fakt6 *= j;
            }

            Console.WriteLine(fakt5+fakt6);

            Console.ReadLine();
        }  

Şimdi de Metodlarımızı kullanarak, gereksiz yazacaklaramızdan kurtulalım.


    class Program
    {
        private static int topla(int s1, int s2)
        {
            int sonuc = s1 + s2;
            return sonuc;
        }

        private static int fakt(int sayi)
        {
            int sonuc = 1;
            for (int i = 1; i <=sayi; i++)
            {
                sonuc *= i;
            }
            return sonuc;
        }

        static void Main(string[] args)
        {

            Console.WriteLine(topla(5,6));

            Console.WriteLine(topla(fakt(5),fakt(6)));

            Console.ReadLine();
        }
    }

{ 1 yorum... read them below or add one }

  1. Paylaşım için teşekkürler. Örnek çok faydalı olmuş.

    YanıtlaSil

Yorum yazmak için combobox'dan anonimi seçerek yorumlarınızı sıkıntısız bir şekilde yapabilirsiniz. İlginiz için teşekkürler

Kategoriler

Popular Post

Blogger templates

Blog Archive

Google Search