ho notato che il compilatore non mi permette di sostituire una proprietà memorizzati con un altro valore memorizzato (che sembra strano):Override di una proprietà memorizzato in Swift
class Jedi {
var lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor = "Red" // Cannot override with a stored property lightSaberColor
}
Tuttavia, mi è permesso di fare questo con una proprietà calcolata:
class Jedi {
let lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor : String{return "Red"}
}
Perché non è possibile dargli un altro valore?
Perché sovrascrivere una proprietà memorizzata è un abominio e farlo con un kosher calcolato? Che cosa stanno pensando?
possibile duplicato del [Override proprietà superclasse con diverso tipo a Swift] (http://stackoverflow.com/questions/24094158/overriding-superclass-property-with-different-type-in-swift) –