Auparavant, je pensais qu'une propriété dans Groovy est indiquée par l'omission d'un mot-clé de scoping. En d'autres termesDéfinition de la propriété Groovy
class Test {
def prop = "i am a property"
public notProp = "i am not"
}
Cependant, il semble que je me trompe à ce sujet, parce que les impressions de script suivant « getter val »
class Foo {
public bar = "init val"
public getBar() {
"getter val"
}
}
println new Foo().bar
Le fait que le getter est invoqué lorsque bar
est accessible suggère que bar
est une propriété plutôt qu'un domaine. Alors, quelle est exactement la différence entre les champs et les propriétés dans Groovy.
Merci, Don
Ils peuvent sembler identiques et agir la plupart du temps, mais Groovy génère uniquement un getter/setter pour une propriété, qui est définie par la présence d'un modificateur d'accès. – ubiquibacon