Sobes.tech
Junior — Middle

Hoe kan worden gegarandeerd dat een klasse gelijktijdig met meerdere interfaces of implementaties werkt?

sobes.tech AI

Antwoord van AI

In iOS (Swift of Objective-C) kan een klasse meerdere protocollen (interfaces) implementeren, waardoor het met verschillende sets van methoden kan werken.

Voorbeeld in Swift:

protocol Printable {
    func printInfo()
}

protocol Identifiable {
    var id: String { get }
}

class User: Printable, Identifiable {
    var id: String
    var name: String

    init(id: String, name: String) {
        self.id = id
        self.name = name
    }

    func printInfo() {
        print("Gebruiker: \(name), ID: \(id)")
    }
}

let user = User(id: "123", name: "Alice")
user.printInfo()

Op deze manier implementeert de klasse User tegelijkertijd twee interfaces — Printable en Identifiable. Dit maakt het mogelijk om het object in verschillende contexten te gebruiken waar een van deze interfaces vereist is.

Als je met verschillende implementaties wilt werken, kun je compositie of delegatie gebruiken om tussen hen te schakelen.