Sobes.tech
Junior — Middle
79

Каким образом используется механизм инкапсуляции в языке Swift?

Компании, где спрашивали
Itexus

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

sobes.tech AI

В Swift механизм инкапсуляции реализуется с помощью уровней доступа к свойствам и методам классов, структур и перечислений. Основные уровни доступа:

  • open и public — доступ из любого модуля
  • internal (по умолчанию) — доступ внутри текущего модуля
  • fileprivate — доступ внутри текущего файла
  • private — доступ только внутри текущего объявления

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

Пример:

class BankAccount {
    private var balance: Double = 0.0

    func deposit(amount: Double) {
        guard amount > 0 else { return }
        balance += amount
    }

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

let account = BankAccount()
account.deposit(amount: 100)
print(account.getBalance()) // 100
// account.balance недоступно извне

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