Назад к вопросам
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
Таким образом, внутренние данные (например, пароль) скрыты от прямого доступа, а взаимодействие с ними происходит через контролируемые методы.