Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от 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 не е достъпно отвън

По този начин, инкапсулацията помага да се защити данните и да се контролира достъпът до тях.