Junior — Middle
Que ações estão disponíveis ao expandir o protocolo com extensões?
sobes.tech IA
Resposta da IA
No Swift, as extensões permitem adicionar novas funcionalidades aos tipos existentes, incluindo protocolos. Ao estender um protocolo com extension, pode-se:
- Adicionar implementações padrão de métodos e propriedades, evitando a necessidade de implementá-los em cada tipo que adere ao protocolo.
- Adicionar propriedades calculadas.
- Adicionar novos métodos que estarão disponíveis para todos os tipos que conformam ao protocolo.
No entanto, as extensões de protocolos não permitem adicionar novos requisitos (por exemplo, novos métodos ou propriedades obrigatórios), apenas implementações padrão.
Exemplo:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Olá do protocolo de extensão!")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Vai imprimir: Olá do protocolo de extensão!