Junior — Middle
São todas as funções declaradas no protocolo obrigatórias para a classe que o implementa?
sobes.tech IA
Resposta da IA
Em Swift, todas as funções declaradas num protocolo são obrigatórias por padrão para a classe que adota esse protocolo. No entanto, se o protocolo especificar métodos com uma implementação padrão através de uma extensão, a implementação desses métodos na classe torna-se opcional.
Exemplo:
protocol MyProtocol {
func requiredMethod()
func optionalMethod()
}
extension MyProtocol {
func optionalMethod() {
print("Implementação padrão")
}
}
class MyClass: MyProtocol {
func requiredMethod() {
print("Método obrigatório implementado")
}
// optionalMethod não é obrigatório implementar
}
Assim, apenas os métodos sem implementação padrão no protocolo são obrigatórios.