Junior — Middle
Cum se poate asigura ca o clasă să funcționeze simultan cu mai multe interfețe sau implementări?
sobes.tech AI
Răspuns de la AI
În iOS (Swift sau Objective-C), o clasă poate implementa mai multe protocoale (interfețe), ceea ce îi permite să lucreze cu diferite seturi de metode.
Exemplu în 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("Utilizator: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
Astfel, clasa User implementează simultan două interfețe — Printable și Identifiable. Acest lucru permite utilizarea obiectului în diferite contexte în care este necesară una dintre aceste interfețe.
Dacă doriți să lucrați cu implementări diferite, puteți folosi compoziție sau delegare pentru a comuta între ele.