Sobes.tech
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.