Junior — Middle
Kā nodrošināt, lai klase darbotos vienlaikus ar vairākām saskarnēm vai realizācijām?
sobes.tech AI
Atbilde no AI
iOS (Swift vai Objective-C) klase var īstenot vairākus protokolus (interfeisus), kas ļauj tai darbā ar dažādiem metožu kopumiem.
Piemērs 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("Lietotājs: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
Tādējādi, klase User vienlaikus īsteno divus interfeisus — Printable un Identifiable. Tas ļauj izmantot objektu dažādos kontekstos, kur ir nepieciešams viens no šiem interfeisiem.
Ja vēlaties strādāt ar dažādām īstenojumiem, varat izmantot kompozīciju vai deleģēšanu, lai pārslēgtos starp tiem.