Back to tasks
Вкусвилл АвтомаконGet help with live coding in real time with Sobes Copilot
Junior — Senior
49
Какой вывод получим в примере №32
Companies where asked:
Task condition
Рассмотрим пример, в котором протокол EngineStarter объявляет метод startEngine(). Класс Vehicle реализует этот протокол, а класс Car наследуется от Vehicle и переопределяет метод. В расширении протокола также предоставлена реализация по умолчанию. Затем создаём экземпляр Car и сохраняем его в переменной типа EngineStarter. Какой текст будет напечатан при вызове startEngine()?
protocol EngineStarter {
func startEngine()
}
class Vehicle: EngineStarter {
func startEngine() {
print("Vehicle engine started")
}
}
class Car: Vehicle {
override func startEngine() {
print("Car engine started")
}
}
extension EngineStarter {
func startEngine() {
print("Default engine started")
}
}
let car = Car()
let vehicle: EngineStarter = car
vehicle.startEngine()