Junior — Middle
Kaip užtikrinti, kad klasė veiktų vienu metu su keliomis sąsajomis ar įgyvendinimais?
sobes.tech AI
Atsakymas iš AI
iOS (Swift arba Objective-C) klasė gali įgyvendinti kelis protokolus (sąsajas), leidžiančius dirbti su skirtingais metodų rinkiniais.
Pavyzdys 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("Vartotojas: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
Taip, klasė User įgyvendina du interfeisus — Printable ir Identifiable. Tai leidžia naudoti objektą skirtinguose kontekstuose, kur reikalingas vienas iš šių interfeisų.
Jei norite dirbti su skirtingomis įgyvendinimais, galite naudoti kompoziciją arba delegavimą, kad galėtumėte perjungti tarp jų.