Я заметил, что компилятор не позволит мне переопределить сохраненное свойство с другим сохраненным значением (что кажется странным):
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"}
}
Почему мне не разрешено давать ему другое значение?
Почему переопределение с сохраненным свойством мерзость и выполнение его с помощью вычисления одного кошерного? Что, где они думают?