Junior — Middle
Come garantire che una classe funzioni contemporaneamente con più interfacce o implementazioni?
sobes.tech AI
Risposta dell'AI
In iOS (Swift o Objective-C), una classe può implementare più protocolli (interfacce), consentendole di lavorare con diversi set di metodi.
Esempio in 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("Utente: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
In questo modo, la classe User implementa contemporaneamente due interfacce — Printable e Identifiable. Questo permette di usare l'oggetto in diversi contesti in cui è richiesto uno di questi interfacce.
Se si desidera lavorare con diverse implementazioni, si può usare la composizione o la delega per passare da una all'altra.