Junior — Middle
Pode definir uma implementação padrão de um método numa interface ou protocolo?
sobes.tech IA
Resposta da IA
No Swift, os protocolos podem conter implementações padrão de métodos através de extensões. Isso permite definir um comportamento padrão para os métodos do protocolo, que pode ser sobrescrito em tipos específicos.
Exemplo:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Olá padrão")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Vai mostrar: Olá padrão
Dessa forma, a implementação padrão é definida não no próprio protocolo, mas na sua extensão.