J'ai créé une classe qui a un champ d'exemple dans KotlinChamp d'initialisation avec getter et setter?
class SomeClass {
var smth: String = "Initial value"
get() = "Here it is"
set(value) {
field = "it is $value"
}
}
Lorsque je crée un objet de la classe et appelle le domaine smth
, il appellera la get()
propriété de toute façon. Donc, la question est: pourquoi devons-nous initialiser un champ qui a getter?
var smth: String // Why this gives error?
get() = "Here it is"
set(value) {
field = "it is $value"
}
Il retournera toujours la valeur de la propriété get()
, non?
parce que Kotlin ne générera aucun champ de sauvegarde en utilisant 'get() = ...' sans aucune valeur initialisée. par exemple: 'val smth: String get() =" Ici c'est "' –