在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'),但是如何更改属性类呢? ?
白衣染霜花
慕森王