Sobes.tech
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!