Object Oriented Programming Access Modifiers (Erişim Düzenleyiciler) Ders 5

Merhaba,

Bu yazımda Access Modifiers olarak bilinen aslında bir kısmını bilerek ya da bilmeyerek kullanmakta olduğumuz keyword ü anlatacağım.

Hepimiz methodları yazarken public yazalım ki başka bir yerden erişelim vs gibi düşüncelere sahip olmuşuzdur. Aslında mantık doğru ancak biraz daha bilinçli kullanmakta fayda var.

Şimdi biraz bilinçlenelim.

Erişim düzenleyiciler genel olarak 5 e ayrılır. (Aslında 4 de bir tanesi bileşik yapıda)

  • Private
  • Public
  • Protected
  • Internal
  • Protected Internal

Private

Private erişim düzenleyicisi en kısıtlı erişim düzenleyicisidir. Sadece ilgili tip içerisinden erişilebilirler. Private tanımlamasını değişkenlere ve methodlara atayabiliriz. Burada önemli nokta private keywordü ile tanımlanan değişkenler veya methodlar kalıtım yolu ile aktarılamazlar. Bunu özellikle söylüyorum az sonra neden dediğim anlaşılacaktır. Eğer bir değişkene ya da methoda herhangi bir tanımlama yapılmaz ise varsayılan olarak private almaktadır.

Public

Public erişim düzenleyici en yüksek seviyede erişim düzenleyicisidir. Kalıtım yolu ile aktarılır, farklı projelerden veya proje içerisinde herhangi bir yerden erişilebilir durumdadır.

Protected

Protected erişim düzenleyicisi genel olarak private gibi hareket eder. Aralarındaki tek fark protected olarak işaretlenmiş olan yapılar kalıtım yolu ile aktarılabilmektedir. Geri kalan tüm özellikleri private ile aynıdır.

Internal

Internal erişim düzenleyicisi dahili anlamına gelmekte olup, sadece o proje içerisinden erişilebilmesi anlamına gelmektedir. Farklı projelerden erişim söz konusu değildir. Sınıflarda kullanılabildiği gibi sınıf üyelerinde de kullanılabilir. Eğer bir sınıfta tanımlama yapılmadı ise varsayılan olarak internal durumdadır.

Protected Internal

Bu erişim düzenleyicisi de duruma göre erişim iznini verme yapısındadır. Yani proje dışından bir erişim istendiğinde Internal gibi davranır ve erişime izin vermez. Proje içerisinden bir erişim istendiğinde ise Protected yapıda davranır ve izinleri ona göre ayarlar.

Bu yazımızda da erişim düzenleyicileri kısaca işledik. Bir sonraki yazımızda daha eğlenceli bir konu olan events ve delegate methodlara giriş yapacağız.

İyi Günler Dilerim,