Sobes.tech
Back to questions
Junior — Middle
90

Объясните концепцию инкапсуляции в объектно-ориентированном программировании и почему она важна?

Companies where asked
Perfomance lab
OZONOZON
AstonAston

Answer from AI

sobes.tech AI

Инкапсуляция — это принцип объектно-ориентированного программирования, который предполагает скрытие внутренней реализации объекта и предоставление доступа к данным только через определённые методы (геттеры и сеттеры). Это позволяет защитить состояние объекта от некорректного изменения и уменьшить связанность компонентов.

Почему это важно:

  • Обеспечивает контроль над изменением данных.
  • Упрощает поддержку и изменение кода, так как внутренние детали скрыты.
  • Повышает безопасность и надёжность программы.

Пример на C#:

class User {
    private string password; // скрытое поле

    public void SetPassword(string pwd) {
        if (pwd.Length >= 8) {
            password = pwd;
        } else {
            throw new ArgumentException("Пароль слишком короткий");
        }
    }

    public bool CheckPassword(string pwd) {
        return password == pwd;
    }
}