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
Овим начином, капсулација помаже у контролисању приступа подацима, повећава безбедност и олакшава одржавање кода.