Junior — Middle
Como garantir que uma classe funcione simultaneamente com várias interfaces ou implementações?
sobes.tech IA
Resposta da IA
No iOS (Swift ou Objective-C), uma classe pode implementar vários protocolos (interfaces), permitindo-lhe trabalhar com diferentes conjuntos de métodos.
Exemplo em 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("Utilizador: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
Assim, a classe User implementa simultaneamente duas interfaces — Printable e Identifiable. Isto permite usar o objeto em diferentes contextos onde é necessário um desses interfaces.
Se precisar trabalhar com diferentes implementações, pode usar composição ou delegação para alternar entre elas.