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

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

Компании, где спрашивали
ITFB
Суши ВокСуши Вок

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

sobes.tech AI

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

В iOS (Swift) инкапсуляция достигается с помощью уровней доступа (private, fileprivate, internal, public, open). Например:

class BankAccount {
    private var balance: Double = 0.0

    func deposit(amount: Double) {
        if amount > 0 {
            balance += amount
        }
    }

    func getBalance() -> Double {
        return balance
    }
}

Здесь balance скрыт от внешнего доступа, и изменить его можно только через методы deposit и getBalance, что обеспечивает контроль над состоянием объекта.