- public: Sınıf veya sınıfın elemanına aynı assembly veya başka bir assembly'den erişilebilir
- internal: Sınıf veya sınıfın elemanına sadece aynı assembly içinde erişilebilir.
- private: Sınıf veya sınıfın elemanına sadece aynı sınıf içinden erişilebilir.
- protected: Sınıf veya sınıfın elemanına sadece aynı sınıf içinden ve bu sınıftan türemiş alt sınıflardan erişilebilir.
"Yukarıda assembly ile kastedilen aynı uygulama veya kütüphanedir."Eğer bir sınıf;
- Public ise başka bir proje içinde bu projeye referans vererek kullanabilirsiniz.
- Eğer internal ise bu projenin içinde her diğer sınıf için kullanabilirsiniz.
- Private ise dışardan da aynı assmebly içinden de hiç kullanılmayacak şekilde bir güvenlik sağlıyor.
- Protected kullanımı ise private'e çok yakın; sadece bu sınıftan türeyen sınıflar protected özelliklere ve metotlara erişebiliyor.
Kapsülleme (Encapsulation) adı verilen terim, bir sınıfa ait iç özelliklerin dışarıdan saklanmasıdır. Uygulama ve kütüphanelerin kullanılması istenen kısımlarını dışarıya açacak yetkiler verilebilir.
- Protected ifadesi sadece OOP'de bir sınıftan başka sınıflar türettiğimiz durumlarda sınıfın özellik ve metotları için kullanılır.
- Eğer erişim hakkı tanımlamazsak C# bizim için standart olarak tanımlar. Standartlar şunlardır;
- Aynı namespace içindeki sınıflara internal erişim yetkisi verilir.
- Sınıf içindeki özellik, metot ve alt sınıflara ise private yetkisi tanımlanır.
Hiç yorum yok:
Yorum Gönder