Junior — Middle
Vai ir iespējams noteikt noklusējuma metodes īstenojumu saskarnē vai protokolā?
sobes.tech AI
Atbilde no AI
Swift valodā protokoli var saturēt noklusējuma metožu realizācijas, izmantojot paplašinājumus (extensions). Tas ļauj noteikt standarta uzvedību protokola metodēm, kuras var pārrakstīt konkrētos tipos.
Piemērs:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Noklusējuma sveiciens")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Izvadīs: Noklusējuma sveiciens
Tādējādi noklusējuma realizācija nav noteikta pašā protokolā, bet tā paplašinājumā.