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:
openirpublic— prieiga iš bet kurio moduliointernal(numatytasis) — prieiga viduje esamo moduliofileprivate— prieiga viduje esamo failoprivate— 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ų.