Field İle Property Arasındaki Fark

Bu makalemizde en sık kullanılan field ile property arasındaki farkı görmüş olacağız Field’lar her programlama dilinde olduğu gibi class ve struct gibi yapılarda kullanılan değişkenlerdir. Propert ise OOP* field’ların encapsulate edilmiş halidir.

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.

5/5 - (4 votes)

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et