Sobes.tech
Назад к вопросам
Junior — Middle
90

Можете объяснить концепцию скрытия данных внутри объектов в объектно-ориентированном программировании?

Ответ от нейросети

sobes.tech AI

Скрытие данных (инкапсуляция) в объектно-ориентированном программировании означает ограничение доступа к внутренним состояниям объекта и предоставление доступа к ним только через методы (функции) объекта.

Это позволяет защитить данные от некорректного использования и изменений извне, сохраняя целостность объекта.

Например, в JavaScript (Node.js) можно использовать приватные поля и методы:

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

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

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

const user = new User('Alice', 'secret');
console.log(user.name); // Alice
console.log(user.#password); // Ошибка: приватное поле
console.log(user.checkPassword('secret')); // true

Таким образом, внутренние данные (например, пароль) скрыты от прямого доступа, а взаимодействие с ними происходит через контролируемые методы.