Junior — Middle
Jaké akce jsou k dispozici při rozšíření protokolu pomocí rozšíření?
sobes.tech AI
Odpověď od AI
V jazyce Swift umožňují rozšíření (extensions) přidávat nové funkce k existujícím typům, včetně protokolů. Rozšířením protokolu pomocí extension lze:
- Přidávat výchozí implementace metod a vlastností, což eliminuje nutnost jejich implementace v každém typu, který protokol implementuje.
- Přidávat vypočítané vlastnosti.
- Přidávat nové metody, které budou dostupné všem typům odpovídajícím protokolu.
Nicméně, rozšíření protokolů neumožňují přidávat nové požadavky (například nové povinné metody nebo vlastnosti), pouze výchozí implementace.
Příklad:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Ahoj z rozšíření protokolu!")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Vytiskne: Ahoj z rozšíření protokolu!