Назад к вопросам
Суши Вок
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, что обеспечивает контроль над состоянием объекта.