DEV Community

Beatriz da Silva
Beatriz da Silva

Posted on

Dia 11 - #100DaysOfSwift

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.

Image description
Método comprar que só permite livros como parâmetro

Image description
Método comprar que aceita qualquer item que conforme com o protocolo Adquirivel como parâmetro

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.

Image description

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.

Image description

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)

Collapse
 
yjt1216 profile image
尹江涛

mark