Junior — Middle
Akcie dostupné pri rozšírení protokolu pomocou rozšírení?
sobes.tech AI
Odpoveď od AI
V jazyku Swift umožňujú rozšírenia (extensions) pridávať nové funkcie k existujúcim typom, vrátane protokolov. Rozšírením protokolu pomocou extension môžete:
- Pridať predvolené implementácie metód a vlastností, čím sa eliminuje potreba ich implementácie v každom type, ktorý protokol implementuje.
- Pridať vypočítané vlastnosti.
- Pridať nové metódy, ktoré budú dostupné všetkým typom, ktoré zodpovedajú protokolu.
Avšak, rozšírenia protokolov neumožňujú pridávať nové požiadavky (napríklad nové povinné metódy alebo vlastnosti), iba predvolené implementácie.
Príklad:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Ahoj z rozšírenia protokolu!")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Vytlačí: Ahoj z rozšírenia protokolu!