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.