Sobes.tech
Junior — Middle

Kas saaksite selgitada inkapsulatsiooni kontseptsiooni objektorienteeritud programmeerimises?

sobes.tech AI

Vastus AI-lt

Kapsülleme, nesne yönelimli programlamanın bir ilkesidir ve bu ilke, verilerin (özelliklerin) ve bu verilerle çalışan metodların aynı nesne veya sınıf içinde birleştirilmesini içerir. Bu, nesnenin iç durumunu gizlemeye ve ona yalnızca belirli metodlar (getterlar ve setterlar) aracılığıyla erişim sağlamaya olanak tanır; böylece veriler doğrudan dışarıdan değiştirilmekten korunur.

Örneğin, JavaScript'te özel bir özellik sembol kullanılarak veya alt çizgi ile bir anlaşma takip edilerek oluşturulabilir:

class User {
  #password; // özel alan

  constructor(name, password) {
    this.name = name;
    this.#password = password;
  }

  checkPassword(input) {
    return input === this.#password;
  }
}

const user = new User('Alice', '12345');
console.log(user.name); // Alice
console.log(user.#password); // Hata, erişim engellendi
console.log(user.checkPassword('12345')); // true

Bu şekilde, kapsülleme, verilere erişimi kontrol etmeye, güvenliği artırmaya ve kodun bakımını kolaylaştırmaya yardımcı olur.