4 Ocak 2013 Cuma

C#' ta Sınıflar, Nesneler ve Metodlar - 2

NESNELER
C#' ta Sınıflar, Nesneler ve Metodlar - 1 yazısında Bina tipinde bir nesne oluşturmak için aşağıdaki satırı kullanmıştık.

Bina ev = new Bina();

Bu deklarasyon iki işlevi gerçekleştirir. Öncelikle, ev adında Bina sınıfı tipinde bir değişken deklare eder. Bu değişken bir nesne tanımlamaz. İkincisi, söz konusu deklarasyon, nesnenin asıl, fiziksel kopyasını oluşturur ve ev değişkenine bu nesnenin bir referansını atar. Bu işlem new operatörünü kullanarak yapılır. Böylece, yukarıdaki kod satırı oluşturulduktan sonra ev, Bina tipinde bir nesneyle ilişkilendirilmiş olur.

METOTLAR
Örnek değişkenler ve metotlar sınıfları oluşturan iki ana bileşendir. Şimdiye kadar Bina sınıfı veri çeriyor fakat hiç metot içermiyordu. Metotlar, sınıf tarafından tanımlanan verileri manipüle eden ve birçok durumda söz konusu verilere erişim sağlayan alt rutinlerdir. 

Bir metot, bir veya daha fazla ifade içerir. İyi yazılmış bir C# kodunda her metot yalnızca tek bir görev görür. Her metodun bir ismi vardır ve metodu çağırmak için bu isim kullanılır. Genel olarak, bir metoda istediğimiz ismi verebiliriz, ancak Main() isminin programımızı çalıştırmaya başlatan metoda ayrılmış olduğunu unutmayalım. Metodun genel biçimi şu şekildedir:

erişim dönüş-tipi isim(parametre-lstesi)
{
   // metodun gövdesi
}

Bina Sınıfına Bir Metot Eklemek
class Bina
    {
        public int kat;
        public int alan;
        public int oturansayisi;

        public void KisiBasinaDusenAlan()
        {
            Console.WriteLine("Kişi Başına Düşen Alan : " + alan / oturansayisi);
        }
    }
    class BuildingDemo
    {
        public static void Main()
        {
            Bina ev = new Bina();
            Bina ofis = new Bina();

            ev.kat = 5;
            ev.alan = 2500;
            ev.oturansayisi = 4;

            ofis.kat = 15;
            ofis.alan = 5000;
            ev.oturansayisi = 20;

            ev.KisiBasinaDusenAlan();
            ofis.KisiBasinaDusenAlan();            
        }
    }

Şimdi bu kodu KisiBasinaDusenAlan() metodundan başlayarak bu programın temel öğelerine göz atalım. Metodun ilk satırı şudur:

public void KisiBasinaDusenAlan()

Bu satır, KisiBasinaDusenAlan() adında, parametresiz bir metot deklare eder. Bu metot public olarak belirtilmiştir, böylece, programın diğer bölümlerinin tümü tarafından kullanılabilir. Bu metodun dönüş tipi void' dir. Bu sayede, KisiBasinaDusenAlan() kendisini çağıran program parçasına bir değer döndürmez.

Bina tipindeki her nesne alan ve oturansayisi' nın kendi kopyalarına sahip oldukları için, KisiBasinaDusenAlan() çağrıldığı zaman, hesaplarda metodu çağıran nesneye ait değişken kopyaları kullanılır. Şimdi Main() içindeki şu kod satırına yakından bakalım:

ev.KisiBasinaDusenAlan();

Bu ifade, ev üzerindeki KisiBasinaDusenAlan() metodunu çağırır. Yani nesnenin isminin ardından nokta operatörünü kullanarak KisiBasinaDusenAlan() metodunu ev nesnesine bağlı olarak çağırır. Bir metot çağrıldığı zaman program kontrolü metoda aktarılır.


0 yorum:

Yorum Gönder