Назад к задачам
AvitoПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
7
Какой вывод получим в примере №40
Компании, где спрашивали:
Условие задачи
В этом Swift‑примерe объявлен протокол без требований, к которому добавлено расширение с вычисляемым свойством value. Класс, реализующий протокол, также объявляет своё свойство value. Затем создаётся экземпляр класса и переменная типа протокола, ссылающаяся на тот же объект. Нужно понять, какие строки будет печатать print при обращении к свойству через переменную класса и через переменную протокола.
protocol TheProtocol {
}
extension TheProtocol {
var value: String {
return "in TheProtocol"
}
}
class TheClass: TheProtocol {
var value: String {
return "in TheClass"
}
}
let myClass = TheClass()
let myProtocol: TheProtocol = myClass
print(myClass.value) // ?
print(myProtocol.value) // ?