Sobes.tech
Junior — Middle

Cum este utilizat mecanismul de încapsulare în limbajul Swift?

sobes.tech AI

Răspuns de la AI

În Swift, mecanismul de încapsulare se implementează prin niveluri de acces la proprietăți și metode ale claselor, structurilor și enumerărilor. Nivelurile principale de acces sunt:

  • open și public — acces din orice modul
  • internal (implicit) — acces în interiorul modulului curent
  • fileprivate — acces în interiorul fișierului curent
  • private — acces doar în interiorul declarației curente

Aceasta permite ascunderea detaliilor interne de implementare și furnizarea doar a interfeței necesare pentru interacțiunea cu obiectul.

Exemplu:

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
// balance nu este accesibil din exterior

Astfel, încapsularea ajută la protejarea datelor și la controlul accesului la acestea.