Назад к вопросам
Junior — Middle
90
Можешь привести пример использования инкапсуляции в объектно-ориентированном программировании?
Ответ от нейросети
sobes.tech AI
Инкапсуляция — это принцип ООП, который позволяет скрыть внутренние детали реализации объекта и предоставлять доступ к данным и методам через публичный интерфейс.
Пример на JavaScript (Node.js):
class BankAccount {
#balance; // приватное поле
constructor(initialBalance) {
this.#balance = initialBalance;
}
deposit(amount) {
if (amount > 0) {
this.#balance += amount;
}
}
withdraw(amount) {
if (amount > 0 && amount <= this.#balance) {
this.#balance -= amount;
return amount;
}
return 0;
}
getBalance() {
return this.#balance;
}
}
const account = new BankAccount(1000);
account.deposit(500);
console.log(account.getBalance()); // 1500
// Нельзя напрямую изменить баланс:
// account.#balance = 100000; // Ошибка
Здесь поле #balance скрыто от внешнего доступа, что защищает данные от некорректного изменения.