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!