In Swift, can someone explain how to override a property on a superclass's with another object subclassed from the original property?
Take this simple example:
class Chassis {}
class RacingChassis : Chassis {}
class Car {
let chassis = Chassis()
}
class RaceCar: Car {
override let chassis = RacingChassis() //Error here
}
This gives the error:
Cannot override with a stored property 'chassis'
If I have chassis as 'var' instead, I get the error:
Cannot override mutable property 'chassis' of type 'Chassis' with covariant type 'RacingChassis'
The only thing I could find in the guide under "Overriding Properties" indicates that we have to override the getter and setter, which may work for changing the value of the property (if it's 'var'), but what about changing the property class?
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…