Bir sınıf içindeki üyelere dışarıdan erişim sağlamak veya sınırlandırmak için erişim
türleri belirlenmiştir. Nesne tabanlı programlama da beş tane erişim türü bulunmaktadır.
- public
- private
- protected
- internal
- protected internal
public: Bu erişim türü ile tanımlanmış sınıf üyelerine her yerden erişim izni verilmiş
olur.
private: Bu erişim türünde tanımlanmış üyelere sadece aynı sınıf içerisinde
tanımlanmış diğer üyeler tarafından erişim izni verilmiş olur.9
protected: Bu erişim türünde tanımlanmış üyelere tanımlandık sınıf ve bu sınıftan
türetilmiş diğer sınıflardan erişim izni verilmiş olur.
İnternal: Bu erişim türünde tanımlanmış üyelere aynı assembly içinden erişim izni
verilmiş olur.
protected internal: Bu erişim türü protected ve internal erişim türlerinin veya
işlemiyle birleştirilmiş halidir.
class veya struct?lar public ya da internal olabilir, varsayılan olarak internal erişim
türüne sahiptir.
Erişim türü belirlenmediği sınıf üyeleri varsayılan olarak private olarak kabul edilir.
Yukarıdaki bisiklet örneğini ele alınsın. Bir tane bisiklet adında sınıf tanımlanmıştır.
Bu sınıfın içinde integer tipinde hız ve vites adında iki tane de değişken tanımlanmıştır.
Dikkat edersen bu değişkenlere erişim türü atanmamıştır. Dolayısıyla program tarafından
varsayılan olarak private olarak tanınacaklardır. Private olarak tanındıkları için sadece
bisiklet sınıfı içinden erişim sağlanacaktır. Programın ana blokunda bisiklet sınıfından
türetilen nesneler tarafından erişilemeyecektir.
bisiklet1.vites = 2; // Hata verir (vites için sınıf içerisinde bir erişim belirleyici
kullanılmadığı için private kabul edilecektir)
Fakat bisiklet sınıfının içinde tanımlanmış Hizlan metodu public olarak tanımlandığı
için her yerden erişim imkânı vardır. Dolayısıyla programın ana blokunda tanımlanmış
nesneler tarafından da erişilebilecektir.
bisiklet1.Hizlan(10); // Hata vermeyecektir.