Sobes.tech
Back to tasks
Junior — Senior
57

Какой результат печати у Swift‑кода №26

Companies where asked:

СБЕРСБЕР
Get help with live coding in real time with Sobes Copilot
Task condition

В этом примере демонстрируется, как работает протокольный метод с реализацией по умолчанию и его переопределение в конкретном классе. Обратите внимание, что переменная объявлена как тип протокола, а затем вызываются методы как у протокола, так и у класса‑реализации.

protocol Animal {
    func say()
}

extension Animal {
    func say() {
        print("Animal")
    }
}

class Cat: Animal {
    func say() {
        print("Cat")
    }
}

let cat: Animal = Cat()
cat.say()
Cat().say()