Field ile Property Arasındaki Fark

Field ile Property Arasındaki Fark

Field : Bir class yada struct içinde tanımlanan her tipten değişkendir.

Fieldlar onları içeren tiplerin üyeleridir. Fieldlar, birden fazla metodun erişim sağlaması gereken verileri saklarlar ve bu verinin saklanma zamanı herhangi bir metodun yaşam zamanından uzun olmalıdır.

Fieldlar, önce erişim seviyesi sonra tipi ve daha sonra adı şeklinde class bloğunun içinde tanımlanırlar.

Örneğin; private int _CategoryId;

Property : Property, field ve metotları birleştirir.

Property, kullanıcı erişmek istediğinde field gibi davranır, ulaşmak için aynı söz dizimi kullanılır. Sınıfı oluşturan kişi içinse bir yada iki kod bloğundan oluşur. Bunlar, get ve set metotlarıdır. Get metodu propertyi içindeki değer okunduğunda execute edilir. Set metodu ise propertye yeni bir değer atandığında işlenir. Eğer bir propertyinin set metodu bulunmuyorsa bu property sadece okunabilir olarak değerlendirilir.  Aynı şekilde eğer sadece set metodu bulunuyorsa sadece yazılabilir olarak düşünülür.

Property içinde söz dizimi yine fieldda olduğu gibi önce erişim seviyesi sonra tipi ve daha sonrada adı şeklindedir ve class bloğunun içinde tanımlanırlar.

Fieldlardan farklı olarak propertyler değişken gibi sınıflandırılmazlar. Bir propertyi ref yada out olarak tanıtamayız.

Propertyler birçok yerde kullanılır.

Örneğin; Veri üzerinde validasyon yapılabilir, veritabanı gibi kaynaktan beslenen bir class üzerinde veri gösterilebilir. Ayrıca veri değiştiğinde bir event oluşturabilir yada başka bir fieldin değerini değiştirebilirler.

 

public class Category

{

private int _CategoryId;            // Field

public int CategoryId                 // Property

{

get { return _CategoryId; }

set { _CategoryId = value; }

}

}

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir