Junior — Middle
Ar galima nustatyti numatytąją metodo įgyvendinimą sąsajoje ar protokole?
sobes.tech AI
Atsakymas iš AI
Swift'e protokolai gali turėti numatytąsias metodų įgyvendinimo versijas per išplėtimus (extensions). Tai leidžia nustatyti standartinį elgesį protokolo metodams, kurį galima perrašyti konkrečiuose tipuose.
Pavyzdys:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Numatytasis pasisveikinimas")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Išves: Numatytasis pasisveikinimas
Taip, numatytoji įgyvendinimo versija nėra nustatyta pačiame protokole, o jo išplėtimo dalyje.