Encapsulation , Properties and Fields

Zeki DİŞCİ
2 min readAug 25, 2021

Merhaba. Önceki yazımda OOP yapısının temeli sayılan Inheritance(Kalıtım) yapısını anlatmıştım.

Şimdiki yazımda yine OOP için önemli ve kullanış açısından doğru yaklaşımı bize gösteren yapılardan bahsedeceğim.

Fields bir class yapısında bizim değişken olarak tabir ettiğimiz yapıları tutan küçük yapı taşlarımızdır. Bir field olarak tutulan değer yapısına class içinden değer atanıp, o değeri gerekli zamanlarda okuyabilmekteyiz. Bunu sağlayan yapı olan Encapsulation’a birazdan değineceğim.

Küçük bir örnek ile field tanımlama yapısını göstermekteyim.

Property, bir class içinde ulaşılabilen değerlerde kontrol vasıtası ile değişiklikler yapılabilmesine olanak sağlayan yapıdır. Kısaca property ile field olarak belirtilen yapıdan daha çok veri güvenliği sağlanmasına olanak tanır.

Encapsulation(Kapsülleme) yapısının başlangıç noktası property’dir. Bir property üzerinden değerler üzerinde değişiklik yapmak veya değerleri ulaşılamaz konuma getirmek mümkündür. Bunu ise Get ve Set metotları ile yapmak mümkündür.

Get=Geriye değer döndürmek için,

Set=İlgili değer için işlem yapmak için kullanılır.

Kısa bir örnek ile önce property oluşturmak, daha sonra Encapsulation yapısını nasıl kullanacağımızı öğrenelim.

Encapsulation yapısını kısaca anlatmak gerekirse;

Encapsulation yapısı OOP yapısında hem kullanıcı hem geliştirici için bir class içerisinde değerlerin bilinçli veya bilinçsiz şekilde kullanılmasını engeller.

Private olarak belirlediğimiz alanların yazılımcı tarafından diğer class yapılarında kullanımını belirli kurallar çerçevesinde sağlayan yapıdır. Bunu az önce bahsettiğimiz Property içindeki Get ve Set metotları ile yapar.

Encapsulation yapısı genel olarak Field ve Property yapılarını içinde barındırarak kullanıma sunulur. Kısa bir örnek ile bu durumu açıklayalım.

ÖRNEK: PERSON

Umarım Encapsulation, Property ve Field konularını anlatabilmişimdir. Herkes için faydalı bir yazı olmasını dilerim.

--

--

Zeki DİŞCİ
Zeki DİŞCİ

Written by Zeki DİŞCİ

0 Followers

Computer Engineer

No responses yet