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í.