Я помітив, що компілятор не дозволить мені замінити збережену властивість з іншим збереженим значенням (що здається дивним):
class Jedi {
var lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor = "Red" // Cannot override with a stored property lightSaberColor
}
Однак мені дозволено це робити з обчисленою властивістю:
class Jedi {
let lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor : String{return "Red"}
}
Чому мені не дозволяють надавати йому іншого значення?
Чому перевизначення збереженого майна є гидотою і робити це з обчисленою кошеркою? Що де вони думають?