Junior — Middle
Czy można zdefiniować domyślną implementację metody w interfejsie lub protokole?
sobes.tech AI
Odpowiedź od AI
W Swift protokoły mogą zawierać domyślne implementacje metod za pomocą rozszerzeń. Pozwala to na ustawienie domyślnego zachowania dla metod protokołu, które można nadpisać w konkretnych typach.
Przykład:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Domyślny powitanie")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Wyświetli: Domyślny powitanie
W ten sposób domyślna implementacja jest ustawiona nie w samym protokole, lecz w jego rozszerzeniu.