{Merhaba Dünya Ben Emre Kıyak}

 





C#'da metotlar

Share |


Bu yazıda C#'da metot oluşturulması ve çağırılması, metotların dışarıdan parametre almaları ve geriye döndürdükleri değerler konularına kısaca değineceğim. Burada amacımız metotlar konusuna hızlı bir giriş yapıp konu hakkında sizleri temel fikir sahibi yapmaktır.

Basit bir konsol uygulamasında başlangıç metodunun Main adlı metod olduğunu ve static olarak tanımlandığını görürsünüz. Öncelikle static kavramına değinmek istiyorum. Bir metodun static olarak tanımlanması demek içinde bulunduğu sınıf türünden bir nesne oluşturulmadan erişilmesi demektir. Somut olarak örneğin bir random sayı üretmek için random sınıfından bir nesne üreterek onun metodlarına erişirsiniz. Ancak static olarak tanımlanmış metodlara sınıf adını yazdıktan sonra bir nokta koyup intellisense yardımıyla erişirsiniz.

Metodları programımız içinde belirli işleri yapan küçük programcıklardır. Örneğin email gönderen bir metod. Ya da siteye yeni bir üye kaydı yaparken o kişinin emailinin daha önce kayıtlı olup olmadığını denetleyen bir metod örnek olarak verilebilir.

Dışarıdan parametre almayan ve geriye değer döndürmeyen metodlar

class Program
    {
        static void Main(string[] args)
        {
            YAZ();
        }
 
        static void YAZ()
        {
            Console.WriteLine("Merhaba Dünya");
            Console.ReadLine();
        }
    }

Yukarıdaki örnekte YAZ() metodu geriye bir değer döndürmeyeceği için void olarak tanımlanmıştır. Console uygulamasının Main metodu içinde YAZ() metodu çağırılarak çalıştırılmış olur. Programı çalıştırdığımızda ekrana Merhaba Dünya yazdırıldığını göreceksiniz.

Dışarıdan parametre almayan ve geriye değer döndüren fonksiyonlar

class Program
    {
        static void Main(string[] args)
        {
            string x = YAZ();
        }
 
        static string YAZ()
        {
            string x = "Merhaba Dünya";
            return x;
        }
    }

Yukarıdaki örnekte YAZ metodu dışarıdan bir parametre almamaktadır ancak geri string türünde değer döndürmektedir. Geriye döndürdüğü değerin ne olduğunu öğrenmek istiyorsak Main metodu içinde YAZ metodunun çağırıldığı fonksiyonu bir string değişkene eşitleyerek görebiliriz.

Dışarıdan değer alan ve geriye değer döndürmeyen fonksiyonlar

class Program
    {
        static void Main(string[] args)
        {
            YAZ("Merhaba Dünya");
        }
 
        static void YAZ(string x)
        {
            Console.WriteLine(x);
            Console.ReadLine();
        }
    }

Yukarıdaki örnekte YAZ() metodumuz dışarıdan string tipinde x adında bir parametre alarak çalışmaktadır. Main metodu içinde YAZ metodunu çağırırken dışarıdan string tipinde bir değer vermemiz gerekir. YAZ() metodu çalıştırıldığında sonuç olarak geriye bir değer döndürmeyecek ve işlemi kendi içinde halledecektir.

Dışarıdan değer alan ve geriye değer döndüren metodlar

class Program
    {
        static void Main(string[] args)
        {
            string AdSoyad = YAZ("Emre", "KIYAK");
            Console.WriteLine(AdSoyad);
            Console.ReadLine();
        }
 
        static string YAZ(string ad, string soyad)
        {
            string AdSoyad = ad + " " + soyad;
            return AdSoyad;
        }
    }

Yukarıdaki örnekte YAZ() metodu dışarıdan string tipinde iki adet parametre almaktadır ve geriye string tipinde bir değer dönmektedir. YAZ() metodunun çağırıldığı yerde de parantez içinde string tipinde iki adet parametre geçilmekte ve metodun üreteceği sonuç string tipinde bir değişkende saklanmaktadır.

Bu örneklerden sonra şimdi yeni bir class dosyası hazırlayıp bu classın içinde bir metod tanımlayalım ve bu metoda dışarıdan bir başka class içinden erişelim.

class hesapla
    {
        public static int TOPLA(int x, int y)
        {
            int k = x + y;
            return k;
        }
    }

Programımda hesapla adında bir class oluşturuyorum ve TOPLA adında geriye int değer döndüren ve dışarıdan iki adet int tipinde parametre alan metod tanımlıyorum. Dikkat ederseniz metodu static olarak tanımlıyorum. Böylece TOPLA() metodunun ait olduğu sınıf türünden bir nesne oluşturmaya gerek kalmadan metoda erişeceğiz.

class Program
    {
        static void Main(string[] args)
        {
            int a = hesapla.TOPLA(3, 6);
            Console.WriteLine(a);
            Console.ReadLine();
        }
    }

Yukarıda görmüş olduğunuz gibi Main metodu içinde hesapla.TOPLA(3,6); yazarak hesapla clası içindeki TOPLA() metoduna eriştik. Eğer metodu static tanımlamasaydık hesapla h = new hesapla(); şeklinde nesneyi oluşturup h.TOPLA(3,5); şeklinde metoda erişim gerçekleşecekti.

class Program
    {
        static void Main(string[] args)
        {
            hesapla h = new hesapla();
            h.TOPLA(3, 6);
        }
    }

31 Ekim 2009 Cumartesi akşam 20:8

Mesajınızı yazabilirsiniz


Rumuz :  
 
Email :   
  
Mesaj :  
Bu konuya abone olmak ister misiniz ?

Güvenlik kodunu göremiyorsanız sayfayı yenileyin.
Güvenlik Kodu :





Mesajlar


ybweb
19 Kasım 2009 Perşembe öğleden sonra 14:26
saolasın abi güzel makale olmuş class lar hakkında temel bilgi sahibi oldum şimdi bunu pratiklerle pekiştirmem lazım :)


Emre Kıyak
19 Kasım 2009 Perşembe akşam 18:0
Kolay gelsin kardeşim (: