最佳答案
在 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'
如果我将 chassis 设置为“ var”,则会得到错误:
Cannot override mutable property 'chassis' of type 'Chassis' with covariant type 'RacingChassis'
我在“重写属性”指南中找到的唯一一件事情就是我们必须重写 getter 和 setter,这可能会改变属性的值(如果它是“ var”) ,但是改变属性类会怎么样呢?