В Swift кто-нибудь может объяснить, как переопределить свойство суперкласса с другим объектом, находящимся в подклассе из исходного свойства?
Возьмем этот простой пример:
class Chassis {}
class RacingChassis : Chassis {}
class Car {
let chassis = Chassis()
}
class RaceCar: Car {
override let chassis = RacingChassis() //Error here
}
Это дает ошибку:
Cannot override with a stored property 'chassis'
Если у меня есть шасси как "var", я получаю сообщение об ошибке:
Cannot override mutable property 'chassis' of type 'Chassis' with covariant type 'RacingChassis'
Единственное, что я могу найти в руководстве в разделе "Переопределение свойств", означает, что мы должны переопределить getter и setter, которые могут работать для изменения значения свойства (если это "var" ), но что об изменении класс свойств?