Sobes.tech
Junior — Middle

Kaip naudojamas inkapsuliacijos mechanizmas Swift kalboje?

sobes.tech AI

Atsakymas iš AI

Swift kalboje inkapsuliacijos mechanizmas įgyvendinamas naudojant prieigos lygius prie klasių, struktūrų ir išvardijimų savybių bei metodų. Pagrindiniai prieigos lygiai yra:

  • open ir public — prieiga iš bet kurio modulio
  • internal (numatytasis) — prieiga viduje esamo modulio
  • fileprivate — prieiga viduje esamo failo
  • private — prieiga tik viduje esamos deklaracijos

Tai leidžia paslėpti vidinius įgyvendinimo detales ir pateikti tik būtiną sąsają sąveikai su objektu.

Pavyzdys:

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 nėra prieinama iš išorės

Šiuo būdu inkapsuliacija padeda apsaugoti duomenis ir kontroliuoti prieigą prie jų.