Méthode privée dans groovy n'est pas privé
class A {
private def sayHello() {
println "Anish"
}
}
def a_obj = new A()
a_obj.sayHello()
de sortie : Anish
Est-il de toute façon à protéger sayHello()
en groovy, ou ai-je raté quelque chose?
source d'informationauteur anish | 2011-10-21
Vous devez vous connecter pour publier un commentaire.
Il est défaut sur que dans Groovy système de suivi de problème et que le défaut est toujours ouverte.
La recherche de
[groovy] private
révèle:groovy appel de méthode en Java super classe
Que signifie "privé" signifie en Groovy?
Comment définir privé méthode de lecture dans Groovy Bean?
Il n'est pas clair si c'est un bug ou pas, mais il va se regarda de nouveau dans Groovy 2.0
Vous pouvez utiliser des fermetures d'obtenir un effet similaire, de la même façon que vous feriez se cacher de l'information avec Javascript.
Je pense que c'est un bug en groovy, qui est fixé dans groovy++.
http://jira.codehaus.org/browse/GROOVY-1875
Que les autres postes ont mentionné, c'est peut être un bug dans Groovy. J'ai été de s'en tenir à une simple convention de préfixer privé, les noms des membres avec un trait de soulignement (similaire à Python) pour indiquer que c'est le privé qui m'aide à comprendre à partir d'un point de vue de ce que je devrais appeler.