J'ai remarqué que le compilateur ne me laissera pas remplacer une propriété stockée par une autre valeur stockée (ce qui semble étrange):
class Jedi {
var lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor = "Red" // Cannot override with a stored property lightSaberColor
}
Cependant, je suis autorisé à le faire avec une propriété calculée:
class Jedi {
let lightSaberColor = "Blue"
}
class Sith: Jedi {
override var lightSaberColor : String{return "Red"}
}
Pourquoi ne suis-je pas autorisé à lui donner une autre valeur?
Pourquoi le remplacement d'une propriété stockée est-il une abomination et le faire avec une propriété calculée casher? Que pensent-ils?