Junior
Programlamada kapsülleme kavramı nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Programlamada kapsüllemenin anlamı, verileri ve bunlarla çalışmak için kullanılan yöntemleri tek bir nesne (obje) içinde birleştirmek ve iç uygulamayı dış dünyadan gizlemektir. Bu, verilere erişimi kontrol etmeye, onları yanlış değişikliklerden korumaya ve kodun bakımını kolaylaştırmaya olanak tanır; böylece kod daha modüler ve esnek hale gelir.
Kapsüllemenin temel avantajları:
- Veri gizleme: Nesnenin iç durumu yalnızca belirli yöntemler (getter ve setterlar) aracılığıyla erişilebilir.
- Erişim kontrolü: Verilerin değiştirilmesi sırasında doğrulama mantığı uygulanabilir.
- Bağlantısızlığın azaltılması: Bir nesnenin iç uygulamasındaki değişiklikler, etkileşim arayüzü değişmediği sürece, onu kullanan diğer nesneleri değiştirmeyi gerektirmez.
- Bakım kolaylığı: Kod daha anlaşılır ve değiştirmesi daha kolay hale gelir.
JavaScript'te örnek:
class User {
constructor(name, age) {
this._name = name; // Özel özellik (geleneksel, JS'de zorunlu değil, özel alanlara kadar)
this._age = age;
}
getName() { // name için getter
return this._name;
}
getAge() { // age için getter
return this._age;
}
setAge(newAge) { // age için setter ve doğrulama
if (newAge > 0) {
this._age = newAge;
} else {
console.error("Yaş sıfırdan büyük olmalı.");
}
}
}
const user = new User("Ivan", 30);
console.log(user.getName()); // Getter aracılığıyla erişim: Ivan
user.setAge(31); // Doğrulama ile setter aracılığıyla değişiklik
console.log(user.getAge()); // Getter aracılığıyla erişim: 31
user.setAge(-5); // Yanlış değişiklik girişimi hatası