У меня возникли проблемы с переопределением класса в Swift.В соответствии с указаниями из класса
Создайте класс «Автомобиль» по следующим критериям:
Создать подкласс «Batmobile», который наследуется от класса Car
Свойства останутся без изменений
Функции
Переопределите функцию init (), чтобы она принимала толькогод в качестве ввода, остальные атрибуты должны быть автоматически инициализированы следующим образом:
make - Bat Automotive
модель - Batmobile
цвет - черный
currentSpeed - 100
Этообъявления класса, которые я создал: Автомобиль:
class Car {
//properties of cars
var year : Int
var make : String
var model : String
var color : String
var currentSpeed : Int
//functions of cars
init(year : Int = 0, make : String, model : String , color : String , currentSpeed : Int = 0) {
self.year = year
self.make = make
self.model = model
self.color = color
self.currentSpeed = currentSpeed
}
}
Бэтмобиль:
class Batmobile : Car {
override init(year: Int) {
self.year = year
self.make = "Bat Automotive"
self.model = "Bat Mobile"
self.color = "Black"
self.currentSpeed = 100
}
}
Когда я пытался создать БэтмОбъект obile с:
var myBatmobile = Batmobile(year: 2018)
Я получаю следующую ошибку:
Отсутствует аргумент для параметра 'make' в вызове
Я неуверен, что я должен передать классу Бэтмобиля, чтобы он правильно инициализировался.У меня сложилось впечатление, что переопределенная функция инициализации заменит все унаследованные поля на предоставленные мной строки.