16 Mart 2009 Pazartesi

Erişim Belirleyiciler / Access Specifiers / Access Modifiers (JAVA)

Java dilinde 4 erişim belirleyici vardır. Bunlar private, friendly, public ve protected erişim belirleyicileridir.
 
private:
private üyeler sadece tanımlandıkları scope içerisinden erişilebilirler.

friendly / package (default):
friendly erişim belirleyicisi hem üyeler hem de tipler için kullanılabilir.
friendly erişim belirleyicisine sahip tip ya da üyeler yazıldıkları paket içerisinden erişime açıktırlar fakat farklı bir paket içerisinden erişilip kullanılamazlar.

Java dilinde default erişim belirleyici friendly erişim belirleyicisidir. friendly erişim belirleyicisini bilinçli bir şekilde kullanarak tanımlama yapmak istediğimizde derleyici bize hata verecektir. Erişim belirleyicisini friendly olarak tanımlamak istediğimiz üye ya da tiplerin başına bir erişim belirleyici yazmadan default olarak kullanmamız gerekir.
 
public:
public erişim belirleyicisi, aynı friendly gibi hem üyeler hem de tipler için kullanılabilir.
public tip ya da üyeler tanımlandıkları paketin dışı da dahil olmak üzere her yerden erişilip kullanılabilirler.

protected:
protected erişim belirleyicisi kalıtım kavramı ile ilişkili bir erişim belirleyicisidir.
protected erişim belirleyicisine sahip olan üyeler, tanımlandıkları scope içerisinden erişilebilirler. Aynı zamanda üyesi bulundukları tipten kalıtılmış diğer tiplerin içerisinden de erişilebilirler. Bu kalıtılmış tip, aynı paket içerisinde olabileceği gibi farklı bir paket içerisinde de olabilir.
protected üyeler, üyesi bulundukları paketin içerisindeki tüm üyelere de açıktırlar.
Yani Java dilindeki protected erişim belirleyicisi, C# dilindeki protected internal erişim belirleyicisi ile benzer işlevselliktedir diyebiliriz.

Hiç yorum yok: