Csharp Programlama Dili ile Metodlar Bölüm 1

Metodlar

C# Programlama Dili, Nesne Yönelimli bir programlama dilidir. Bu dili daha etkin kullanabilmenin yolu Sınıfların, metotların daha etkin kullanımından geçer. Metodlar sayesinde C# programlarımız, daha okunabilir, daha anlaşılabilir  ve daha modüler hale gelir. Üstelik defalarca yapacağımız kod tekrarından kurtuluruz. Metodlar, aynı kodları kopyala-yapıştır yaparak sürekli yazmaktan bizi kurtarır. Böylece kodlarımız, daha kısa daha anlaşılır hale gelir. 

Bazen metod yerine fonksiyon ifadesini kullanabiliriz, ikisi de hemen hemen aynı anlama gelir. Eski programlam dillerinde, yani Fortran, Qbasic, Turbo C, Pascal gibi dillerde Yapısal Programlama (Structural Programming) hakimdi.  Yukarıdan aşağı şekilde program akışı olur, binlerce satırdan oluşan bir programda hata bulmak oldukça zor olurdu. Bu dillerde de kodu hafifletmek için fonksiyonlar yazardık ama sınıf kavramını kullanmadığımız için programlarımnız modüler olmazdı, projeye sonradan katılan birinin bu kodları okuması ve anlaması oldukça zor olurdu.

Bugün yapısal programlama dillerini kullanan neredeyse kalmadı, bilgisayarın Türkiye'ye ilk geldiği zaman programlama öğrenen ve daha sonra bu konuda kendini fazla geliştirmeyen programcılar dışında kullanan yok. Artık üniversitelerde de Yapısal Programlama Dillerinin ders olarak okutulmaması kanısındayım. Yazılım şirketleri artık Nesne Yönelimli Programlama dillerini projelerinde kullanmaktalar. 

Şimdi geçelim metod kullanımına, aşağıdaki örneğe bir bakalım;

static void merhabaYaz()
{
            Console.WriteLine("Merhaba");
}

Burada metodumuz static ile başlıyoruz, daha sonra sınıf kavramını açıklarken bu konuya daha detaylı değineceğiz. Bu bölümde yazacağımız metodların hepsinde static gelecek. Çünkü bu metodları bir sınıf içinde kullanmıyoruz, sınıftan bağımsız şekilde tanımlıyoruz.

static ifadesinden daha sonra gelen void ifadesi bu metodun bir değer döndürmediği anlamına gelir. Burada sadece Console.WriteleLine() ile ekrana Merhaba yazdırıyoruz. Matematiksel toplam işlemi yapsaydık, toplam sonucunu geri döndürürdük. O zaman bu kısım void yerine double veya int tipinden bir veri tipi olurdu. 

Metodun geri bir değer döndürmediğini void ile belirttikten sonra metodun adını yazıyoruz. Burada merhabaYaz() ismini verdik, metodumuz şu an hiçbir parametre almıyor.  Parametre alan metodlara daha sonra değineceğiz.

Şimdi bir C# projesi açarak aşağıdaki gibi kodlarımızı oluşturalım.

using System;
 
namespace merhabadünya
{
    class Program
    {
        static void merhabaYaz()
        {
            Console.WriteLine("Merhaba");
        }
 
        static void Main(string[] args)
        {
            merhabaYaz();
        }
    }
}


Şimdiye kadar kodlarımızı hep Main metodu içinde yazıyorduk. Tıpkı C,C++ ve Java'da olduğu gibi Main metodu ana metoddur, yai C# derleyicisi çalıştığı zaman ilk Main metodu içine bakar. Bizim örneğimizde Main metodu içinde merhabaYaz() metodumunuzu çağırıyoruz. C# derleyicisi, önce programa dahil edilen kütüphaneler içerisinde, daha doğrusu yazdığımız System namespace'i içinde böyle bir metod olup olmadığına bakıyor ve daha sonra program içinde bu metodu arıyor.  Bulduğu anda işletiyor.

Şimdi örneğimizi biraz daha genişletip, ikinci versiyonunu yapalım. Bu örnekte de kimin ismini verirsek metodumuz o kişiye Merhaba desin. Örneğin "Merhaba Oğuzhan" gibi. 


using System;
 
namespace merhabadünya
{
    class Program
    {
        static void merhabaYaz()
        {
            Console.WriteLine("Merhaba");
        }
 
        static void merhabaYaz2(string ad)
        {
            Console.WriteLine("Merhaba {0}", ad);
        }
 
        static void Main(string[] args)
        {
            merhabaYaz();
            merhabaYaz2("Oğuzhan");
            merhabaYaz2("Çağatay");
            merhabaYaz2("Ümmügülsüm");
        }
    }
}

Dikkat ederseniz merhabaYaz2(string ad)  şeklindeki metodumuz eklendi, bu metod ad isminde bir string parametre alıyor. Bu metod,  herhangi bir parametre döndürmediği için de tanımlarken void ifadesini kullandık.  

static void merhabaYaz2(string ad)


Program çalıştığı zaman ekran görüntüsü aşağıdaki gibi olacaktır. Parametre olarak gönderdiğimiz kişiye Merhaba diyecektir.



Şimdilik bu kadar, daha sonra metodlar konusunu daha detaylı şekilde işleyeceğiz.

Mutlu kodlamalar,
Nisan, 2015
Oğuzhan TAŞ



 

Bookmark and Share