Junior — Middle
É possível definir a implementação de métodos dentro de um protocolo?
sobes.tech IA
Resposta da IA
Em Swift, os protocolos podem conter declarações de métodos, mas não suas implementações. No entanto, com o surgimento de extensões, é possível adicionar uma implementação de métodos para o protocolo, que estará disponível para todos os tipos que conformem a esse protocolo.
Exemplo:
protocol MyProtocol {
func doSomething()
}
extension MyProtocol {
func doSomething() {
print("Implementação padrão")
}
}
struct MyStruct: MyProtocol {}
let obj = MyStruct()
obj.doSomething() // Vai exibir: Implementação padrão
Dessa forma, não há implementação dentro do próprio protocolo, mas com extensões, é possível fornecer uma implementação padrão para os métodos do protocolo.