C# - Alan (Field)

Bir sınıfın en temel yapı taşlarından biri field (alan) dır. Field lar class düzeyinde tanımlanan değişkenlerdir diyebiliriz. Fakat aralarında önemli farklar vardır. Değişken bir yöntemin içinde tanımlanırken, field bir class ın içinde tanımlanır ve görünürlük izni verilirse diğer class ların içinde de kullanılabilinir.

Başka bir deyişle değişken yöntem ler düzeyinde, field ise class lar düzeyinde tanımlanır ve kullanılırlar.

Field lar genellikle class ın üst kısmında tanımlanır. Aşağıdaki kodda class içindeki bir field tanımı mevcuttur..

public class OrnekField
{
  private string Aciklama;		
}

"OrnekField" classının tüm yöntemlerinden erişilebilen "Aciklama" adlı bir class düzeyinde değişkenimiz var. "private" olarak görünürlüğünü belirttiğimiz için sadece bu class tan erişebiliriz. Başka class lardan erişemeyiz.

public class OrnekField
{
  private string Aciklama = "Varsayilan Degerim..";
}                                     

Yukarıdaki kodda field a yaratıldığı anda default (varsayılan) bir değer atanmıştır. Daha sonra class ın içinde bu değerin üstüne başka bir değer atanabilir.

Geçerli class ın içinde o field a erişirken, "this" anahtar sözcüğünü kullanabiliriz. "this.Aciklama" gibi..

Aşağıdaki örnek kodu inceleyelim...

public class OrnekClass
{
   private string Ad = "Mehmet";
   private int Agirlik = 90;

   public void KisiTanimi()
   {
        string tanim = "Kişi Adı : " + this.Ad + ", Kişi ağırlık : " + this.Agirlik;
        Console.WriteLine(tanim);
        Console.ReadKey();
    }
}

"OrnekClass" class ımızda "Ad" ve "Agirlik" isminde 2 field tanımladık. Bunlara tanımlandıkları yerde değer atadık. Ayrıca "KisiTanimi()" adında bir fonksiyon tanımımız var. Fonksiyonun içindeki "tanim" adında bir değişken yarattık. Bu değişken sadece fonksiyonun kod bloğunda kullanılabilinirken yarattığımız 2 field (Ad,Agirlik), class ın içinde isteğimiz yerde kullanabilmekteyiz ki fonksiyonda da "this.Ad" ve "this.Agirlik" olarak bunları kullandık.

Yarattığımız 2 field "private" olduğu için sadece "OrnekClass" içinde kullanılabilir. Başka class larda bu üyeleri çağıramayız ve kullanamayız. Görünürlük (visibility) dersinde hangi keyword (anahtar sözcük) ün ne işe yaradığı ve erişim özellikleri anlatılmaktadır.



İlginizi Çekebilir

C# - Namespace

C# - Değişkenler

C# - Kalıtım (Inheritance)

C# - Parametre

C# - Operatörler