C# gibi OOP (nesne yönelimli programlama) destekleyen programlama dillerinde hangi nesnelerin hangi sınıfların hangi elemanlarına (özellik, alan, metod gibi) erişim sağlayabileceği kapsülleme (encapsulation) ile belirlenir. Kapsüllemenin amacı, kullanıcıyı olası üretilecek hatalardan en başından koruyabilmektir.
Edit: C# Erişim Belirleyicileri (Access Modifiers)
Örneğin bir sınıfın değişkenini (field), private erişim belirleyicisi kullanarak başka sınıflardan erişime kapatabiliriz. Ancak private field'lara zaman zaman erişim gerekebileceği için bu durumda da get ve set anahtar kelimeleri ile property (bkz: C# Özellik (Property) Nedir?) kullanırız. Genel olarak tüm bu erişim düzenlemelerine ve hata engelleyicilerine kapsülleme adı verilir.
Örnek:
class Araba
{
private int _motor;
public int Motor {
get
{return _motor;}
set
{
if (value < 500)
_motor = 0;
else
_motor = value;
}
}
}
Daha önce paylaştığım bazı diğer benzer yazılarım için;
bkz: C# Abstract Class ile Interface Arasındaki Farklar Nelerdir?
bkz: C# as Operatörü Kullanımı ve Örnekleri
bkz: C# Sealed Anahtar Sözcüğü Nedir? Sealed Kullanımı ve Örnekleri?
bkz: C# Polymorphism (Çok Biçimlilik) Nedir?
bkz: C# ile Kalıtım Örneği (OOP)
bkz: C# Virtual Metod Nedir ve Nasıl Kullanılır?