Sobes.tech
Junior — Middle

Je možné definovať predvolenú implementáciu metódy v rozhraní alebo protokole?

sobes.tech AI

Odpoveď od AI

V Swift-e môžu protokoly obsahovať predvolené implementácie metód prostredníctvom rozšírení (extensions). To umožňuje nastaviť štandardné správanie pre metódy protokolu, ktoré je možné prepísať v konkrétnych typoch.

Príklad:

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("Predvolené pozdravy")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Vypíše: Predvolené pozdravy

Týmto spôsobom je predvolená implementácia nastavená nie v samotnom protokole, ale v jeho rozšírení.