Sobes.tech
Junior — Middle

Hogyan használják az inkapszuláció mechanizmusát a Swift nyelvben?

sobes.tech MI

Válasz az MI-től

Swiftben az enkapsuláció mechanizmusa az osztályok, szerkezetek és enumerációk tulajdonságaira és metódusaira vonatkozó hozzáférési szintek segítségével valósul meg. A fő hozzáférési szintek:

  • open és public — minden modulból elérhető
  • internal (alapértelmezett) — a jelenlegi modulon belül
  • fileprivate — a jelenlegi fájlon belül
  • private — csak a jelenlegi deklaráción belül

Ez lehetővé teszi a belső implementációs részletek elrejtését és csak a szükséges interfész biztosítását az objektummal való interakcióhoz.

Példa:

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 nem elérhető kívülről

Így az enkapsuláció segít az adatok védelmében és az azokhoz való hozzáférés ellenőrzésében.