Sobes.tech
Junior — Middle

W jaki sposób mechanizm enkapsulacji jest używany w języku Swift?

sobes.tech AI

Odpowiedź od AI

W Swift mechanizm enkapsulacji realizowany jest za pomocą poziomów dostępu do właściwości i metod klas, struktur i wyliczeń. Główne poziomy dostępu to:

  • open i public — dostęp z dowolnego modułu
  • internal (domyślnie) — dostęp w obrębie bieżącego modułu
  • fileprivate — dostęp w obrębie bieżącego pliku
  • private — dostęp tylko w obrębie bieżącego deklaracji

Pozwala to ukryć wewnętrzne szczegóły implementacji i zapewnić tylko niezbędny interfejs do interakcji z obiektem.

Przykład:

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 nie jest dostępne z zewnątrz

W ten sposób enkapsulacja pomaga chronić dane i kontrolować dostęp do nich.