Protocolos
São uma forma de descrever quais propriedades e métodos algo(structs, classes, enums) deve ter, então quando escrevemos um código dizendo que algo conforma com um protocolo o Swift vai fazer com que implementemos todas as propriedades e métodos que existem nesse protocolo. É uma forma de tratar dados de uma forma mais geral.
Assim como as classes, protocolos podem herdar de outros protocolos, isso ajuda a diminuir duplicação de código e a adicionar restrições quando necessário.
Extensions
Permitem adicionar métodos à tipos existentes pra fazer coisas que eles não foram criados originalmente pra fazer.
Outro uso para extensions é organização de código.
Conformance grouping é quando se adiciona uma conformidade de protocolo a uma extensão, adicionando todos os métodos necessários dentro dela.
Purpose grouping é quando se cria extensões para realizar tarefas específicas.
Protocol extensions
São como extensions normais, mas ao invés de estender um tipo específico como Int, podemos estender um protocolo inteiro para que todos os tipos em conformidade recebam as alterações.
Protocol extensions podem fornecer implementações pros métodos dos nossos próprios protocolos, permitindo o uso da técnica de programação orientada à protocolo.
Top comments (1)
mark