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 не е достъпно отвън
По този начин, инкапсулацията помага да се защити данните и да се контролира достъпът до тях.