Son Haberler
Anasayfa / Yazılım / C# / Access Modifiers – Erişim Belirleyiciler

Access Modifiers – Erişim Belirleyiciler

Bir programda kullanıcının bir sınıf içindeki değişkenlere, metotlara nasıl, ne şekilde ulaşabileceğini belirleyen niteleyici ifadelere access modifier yani erişim belirleyici adı verilir. Şu ana kadar örneklerimiz de private, public, static gibi belirleyicileri kullandık. Bunlardan en çok public ve private ile alakalı hep örneklerimiz mevcuttu. Bunların haricinde bir kaç access modifier daha mevcuttur. Hepsini listelersek;

  • private
  • public
  • static
  • protected
  • internal
  • protected internal
  • sealed (class) ve sealed (method)
  • abstract (class) ve abstract (method)
  • new
  • virtual
  • override
  • readonly

Şimdi bunlardan bir kaçına değinmek istiyorum.

  • Private : Bir class içindeki bir metotun ya da bir değişkenin private olarak tanımlanması -ek olaraki bir access modifier belirtilmemesi de dahildir bu duruma- tanımlanan değişken veya metotun ya da değişkenleirn ve metotların sadece ilgili sınıf içinde erişilmesini mümkün kılmaktadır. Bu şekilde tanımlama yapıldığında bu değişken ve metotlara ilgili sınıftan türetilmiş diğer sınıflardan dahi erişim sağlanamaz.
  • Public : Bir değişken veya metot public olarak tanımlanırsa buna her yerden erişim sağlanabilir. Herhangi bir kısıtlama söz konusu değildir.
  • Protected : Bu şekilde tanımlanan değişken veya metotlara kendi sınıfından erişilebilir bununla birlikte ilgili sınıftan türetilmiş diğer sınıflardan da erişim sağlanabilir. Fakat ilgili sınıftan türetilmemiş diğer sınıflar içinden aynı assembly (program) içinde dahi olunsa erişim sağlanamaz.
  • Internal : Genellikde birden fazla uygulamanın söz konusu olduğu programlarda kullanılabilir. Bu şekilde tanımlanan değişkenlere ve metotlara aynı uygulama içindeki sınıflardan erişim sağlanabilir.
  • Protected Internal : Bu şekilde tanımlanan değişkenler, metotlar hem aynı projedeki sınıflardan hemde aynı projede olmayan ama tanımlanan değişken ve metotların bulunduğu sınıflardan türemiş sınıflar tarafından kullanılabilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir