Junior — Middle
É possível declarar um protocolo de extensão numa declaração indicando outro protocolo para que herde as suas propriedades?
sobes.tech IA
Resposta da IA
Em Swift, os protocolos podem herdar propriedades e métodos de outros protocolos. No entanto, protocolos de extensão (extension protocols) não são declarados separadamente — as extensões são aplicadas a protocolos existentes.
Se deseja que um protocolo herde de outro, você declara isso explicitamente:
protocol A {
func methodA()
}
protocol B: A {
func methodB()
}
Aqui, o protocolo B herda do protocolo A e exige a implementação de ambos os métodos.
As extensões de protocolos (extension) permitem adicionar implementações de métodos, mas não declarar um novo protocolo com herança. Assim, declarar um protocolo de extensão com herança de propriedades de outro protocolo só é possível através de herança normal de protocolos, não por extensões.