Назад к вопросам
Junior — Middle
68
Можно ли задавать реализацию метода по умолчанию в интерфейсе или протоколе?
Ответ от нейросети
sobes.tech AI
В Swift протоколы могут содержать реализации методов по умолчанию через расширения (extensions). Это позволяет задать стандартное поведение для методов протокола, которое можно переопределить в конкретных типах.
Пример:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Привет по умолчанию")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Выведет: Привет по умолчанию
Таким образом, реализация по умолчанию задаётся не в самом протоколе, а в его расширении.