Sobes.tech
Junior — Middle

Se poate defini o implementare implicită a unei metode într-o interfață sau protocol?

sobes.tech AI

Răspuns de la AI

În Swift, protocoalele pot conține implementări implicite ale metodelor prin extensii. Acest lucru permite stabilirea unui comportament standard pentru metodele protocolului, care poate fi suprascris în tipuri specifice.

Exemplu:

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("Salut implicit")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Va afișa: Salut implicit

Astfel, implementarea implicită nu este stabilită în protocolul în sine, ci în extensia sa.