【发布时间】:2020-04-03 11:28:42
【问题描述】:
在 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'),但是如何更改属性类?
【问题讨论】:
标签: swift