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() // Исписује: Стандардни поздрав
На овај начин, подразумевана имплементација се не поставља у самом протоколу, већ у његовој екстензији.