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