Junior — Middle
Jak zapewnić, że klasa będzie działać jednocześnie z wieloma interfejsami lub implementacjami?
sobes.tech AI
Odpowiedź od AI
W iOS (Swift lub Objective-C) klasa może implementować wiele protokołów (interfejsów), co pozwala jej pracować z różnymi zestawami metod.
Przykład w 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("Użytkownik: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
W ten sposób klasa User implementuje jednocześnie dwa interfejsy — Printable i Identifiable. Umożliwia to używanie obiektu w różnych kontekstach, gdzie wymagana jest jedna z tych interfejsów.
Jeśli chcesz pracować z różnymi implementacjami, możesz użyć kompozycji lub delegowania, aby przełączać się między nimi.