Junior — Middle
Ako zabezpečiť, aby trieda súčasne pracovala s viacerými rozhraniami alebo implementáciami?
sobes.tech AI
Odpoveď od AI
V iOS (Swift alebo Objective-C) môže trieda implementovať viacero protokolov (rozhraní), čo jej umožňuje pracovať s rôznymi sadami metód.
Príklad v 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("Používateľ: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
Týmto spôsobom trieda User súčasne implementuje dva rozhrania — Printable a Identifiable. To umožňuje použitie objektu v rôznych kontextoch, kde je požadované jedno z týchto rozhraní.
Ak chcete pracovať s rôznymi implementáciami, môžete použiť kompozíciu alebo delegovanie na prepínanie medzi nimi.