kooyee ‘s blog

开源软件, 众人努力的结晶, 全人类的共同财富
posts - 103, comments - 55, trackbacks - 0, articles - 66
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

新的声明方式,用def定义新属性

Posted on 2008-02-23 00:57 kooyee 阅读(384) 评论(0)  编辑  收藏 所属分类: Groovy on Grails
def 和 @Property

旧版本中(Groovy JSR 06 的之前版本)@Property定义一个带有setter和getter的私有属性,而def和java中public一样,定义一个公共的属性。

后来@Property已经从Groovy JSR 06中移除,在Grails 0.2和之后的版本中也不会再需要它 。

现在def用来定义一个带有setter和getter的私有属性,来代替了@Property。



参考:http://docs.codehaus.org/display/GroovyJSR/Property+proposal

symbol  meaning
 private
 protected
 public
 final


code field   getter   setter
def x    
final x    
public x    
protected x    
private x    
public final x    
@Property x    
other permutations?      

Proposed

code field   getter   setter note
def x      
final x     the field doesn't need to be final IMHO (dk) My view is that the field should be final(tug)
public x      
protected x      
private x      
public final x
  a public final field like in Java
@Property x      if it's still supported (MrG) My proposal is to remove it (tug)
other permutations?        what happens with static? (MrG) Static behave exactly the same(tug)

只有注册用户登录后才能发表评论。


网站导航: