Noté que el compilador no me deja anular una propiedad almacenada con otro valor almacenado (lo que parece extraño):
class Jedi {
var lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor = "Red" // Cannot override with a stored property lightSaberColor
}
Sin embargo, se me permite hacer esto con una propiedad calculada:
class Jedi {
let lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor : String{return "Red"}
}
¿Por qué no se me permite darle otro valor?
¿Por qué reemplazar una propiedad almacenada es una abominación y hacerlo con un kosher calculado? ¿Qué donde piensan?