Sobes.tech
Junior — Middle

¿Qué acciones están disponibles al ampliar el protocolo con extensiones?

sobes.tech AI

Respuesta de la IA

En Swift, las extensiones permiten agregar nuevas funcionalidades a tipos existentes, incluidos los protocolos. Al extender un protocolo con extension, se puede:

  • Agregar implementaciones predeterminadas de métodos y propiedades, lo que evita la necesidad de implementar estos métodos en cada tipo que hereda del protocolo.
  • Agregar propiedades calculadas.
  • Agregar nuevos métodos que estarán disponibles para todos los tipos que cumplen con el protocolo.

Sin embargo, las extensiones de protocolos no permiten agregar nuevos requisitos (como nuevos métodos o propiedades obligatorios), solo implementaciones predeterminadas.

Ejemplo:

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("¡Hola desde la extensión del protocolo!")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Imprime: ¡Hola desde la extensión del protocolo!