Sobes.tech
Junior — Middle

Можете ли објаснити концепт енкапсулације у објектно-оријентисаном програмирању?

sobes.tech АИ

Одговор од АИ

Капсулација је принцип објектно-оријентисаног програмирања који се састоји у уједначавању података (својстава) и метода који раде са тим подацима унутар једног објекта или класе. Она омогућава скривање унутрашњег стања објекта и пружање приступа само кроз одређене методе (геттере и сеттере), што штити податке од директне измене са спољне стране.

На пример, у JavaScript-у се може направити приватна својство помоћу симбола или праћењем конвенције са подвачијем:

class User {
  #password; // приватно поље

  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); // Грешка, приступ забрањен
console.log(user.checkPassword('12345')); // true

Овим начином, капсулација помаже у контролисању приступа подацима, повећава безбедност и олакшава одржавање кода.