6
Groovy Bean很棒,但我只是很好奇,如果可以聲明一個類成員是私有的,並且不容易爲它生成訪問器? http://groovy.codehaus.org/Groovy+Beans>Groovy Beans頁面不包含此主題。我能想到的唯一的事情就是定義訪問器並使其成爲私有的。如何禁用Groovy訪問器的生成?
Groovy Bean很棒,但我只是很好奇,如果可以聲明一個類成員是私有的,並且不容易爲它生成訪問器? http://groovy.codehaus.org/Groovy+Beans>Groovy Beans頁面不包含此主題。我能想到的唯一的事情就是定義訪問器並使其成爲私有的。如何禁用Groovy訪問器的生成?
如果使用訪問修飾符聲明成員,則Groovy不會添加訪問者:private,protected或public。如果您不需要訪問器,只需添加適合的修改器即可。下面是說明了這一個例子:
class Test1 { private int blat }
println Test1.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test2 { protected int blat }
println Test2.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test3 { public int blat }
println Test3.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test4 { int blat }
println Test4.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
打印:
[]
[]
[]
[getBlat, setBlat]
這很酷。我剛纔假設公共成員自動生成訪問者,但不是私有的或受保護的。 – Blacktiger 2010-07-23 14:01:08
是的,其實它看起來像「公共」應該使訪問者,但我將不得不進行更多的研究。 – Vinny 2010-08-02 16:29:54