Sobes.tech
Junior — Middle

Da li je moguće definisati implementaciju metode po default-u u interfejsu ili protokolu?

sobes.tech АИ

Одговор од АИ

У Swift-у, протоколи могу садржати подразумеване имплементације метода преко екстензија. Ово омогућава да се дефинише стандардно понашање за методе протокола, које може бити преписано у конкретним типовима.

Пример:

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("Стандардни поздрав")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Исписује: Стандардни поздрав

На овај начин, подразумевана имплементација се не поставља у самом протоколу, већ у његовој екстензији.