-
《groovy and grails recipes》翻译之旅
静静想想,读了不少java、ajax、groovy方面的书,最后才知道原来自己并不喜欢编程,也不会编程,只是喜欢看看学学,满足自己的追风心理而已。于是乎,我蹬一下从床上坐了起来,写下如此豪言壮语:我tnnd要翻译《groovy and grails recipes》!
最近更新文章
5.3.
闭包与匿名的内部类的异同点?
前面提到,匿名内部类最大限制在于引用变量的能力(their ability to reference variables):它们只能引用类变量(class variables)和局部最终变量(local
final variables);其语法也令人困惑不解,而且显得冗长。甚至,匿名内部类不能重用,只能在声明的类中使用。 ...
有800人浏览
2012-03-30 22:49
5.2. 为什么需要闭包?
在函数式语言中,函数是“一等公民”:它们可作为其他函数的参数或返回值,并与范围内变量绑定。也就是说,函数像字符串或数字那样可看作对象。而groovy中闭包正是类似于函数式语言中的函数。
把闭包当作对象有以下优点。首先,闭包能给程序设计带来强大的支持和灵活性,使程序员不需再考虑接口设计。例如,您可轻松创建一个排序方法,它可接收一个闭包作为参数。这个闭包将 ...
有930人浏览
2012-02-17 10:47
第5章 闭包(closure)
您已经在前面章节中见过一些闭包的例子。对java程序员来说,闭包是一个相对较新的概念,尤其是第一次看到它会觉得很陌生。通过本章的实例,您一定会对闭包有个较好的理解,如他们工作原理,以及如何有效使用。闭包是groovy中的重要概念,现实中几乎所有的例子都会用到闭包。因此,如果您想更好理解groovy语言,掌握闭包是极其重要的。
5.1. ...
有687人浏览
2012-01-31 09:38
4.18. 本章小结
读过本章,我希望已经说服您,groovy是一个完全的面向对象语言,它支持java和其他oo语言的面向对象的特性。另外,由于groovy是一中动态语言,它提供了很多动态oo特性,从而使groovy更加强大和灵活易用。
本章展示了如何用类、包和脚本组织代码;也演示了groovy的oo特性,例如继承和接口,以及独特的动态特性,如multimethods,c ...
有641人浏览
2011-10-03 14:56
4.17. 如何使用expandometaclass类给类添加行为?
groovy中有一个特殊的元类expandometaclass,它能帮助您随时给一个类增加额外的方法和属性。而该类的所有实例都会获得这些增加的方法和属性。清单4.36演示了如何给string类增加一个方法,实现字符串的首字母大写。
清单4.36 给类增加额外的方法
string.metaclass.capit ...
有738人浏览
2011-08-07 15:40
4.16. 如何拦截类中不存在的方法?
您通过重载methodmissing方法甚至可拦截不存在的方法,如清单4.35。
清单4.35 拦截不存在的方法
class mop{
def methodmissing(string
name, args) {
"$name method
doesn't exist, are you sure ...
有615人浏览
2011-04-19 08:05
4.15. 如何拦截对象的所有方法调用?
清单4.34演示如何通过重载groovyobject接口的invokemethod,getproperty和setproperty的方法,实现对groovy类的方法和属性访问的拦截。该例子也演示了如何给一个类增加一个动态查询器方法,如findallstartswithx,该方法将返回列表中以x开头的所有元素。例如,当传入列表[" ...
有1074人浏览
2011-02-16 09:37
4.13.
如何使用expando类?
expando类从根本上说是一种动态的bean,它使您可在运行时动态增加属性以外,还可以动态地增加闭包(closure)。下面通过具体的例子进行说明,如清单4.32。
清单 4.32 类expando的应用
def author = new expando()
assert author.books == null ...
有587人浏览
2010-07-06 09:23
4.11.
什么是groovybeans?
groovybeans就是普通的javabeans,但其额外的优势是它会自动生成公共的访问器方法(accessor methods,getters和setter方法)。清单4.27给出一个例子。
清单 4.27 employee groovybean
class employee{
string first ...
有650人浏览
2010-06-04 08:08
« 上一页 1
- 专栏创建者:
- 创建时间:2011-12-01 11:10:52
- 专栏文章数:24篇
- 专栏被浏览:29338 次
本专栏热门文章
最新评论
这个文档好,感谢分享。
lucky16 评论了
lucky16 评论了
...
ridn_jache 评论了
ridn_jache 评论了
awindbird 写道嘿嘿,原来是收费的啊,怪不得俺没用过~ 中国还有谁用正板的
ridn_jache 评论了
ridn_jache 评论了
intellij idea,是我开始工作时用的第一个工具,当时是5.0的。就是当时国内的资料不多
ridn_jache 评论了
ridn_jache 评论了
我是文盲,没有看到错别字。哈哈。。。。。看这个语法比较像脚本的
ridn_jache 评论了
ridn_jache 评论了
还在继续翻译么!
大撒旦 评论了
大撒旦 评论了
已改,谢谢哈。zeng1990 写道“例如,groovy中操作 3 3 ,按照3.plus(3)执行, ...
wonderlandsh 评论了
wonderlandsh 评论了
“例如,groovy中操作 3 3 ,按照3.plus(3)执行,第一个操作数转换成integer的引 ...
zeng1990 评论了
zeng1990 评论了
期待作者的书出来。
zeng1990 评论了
zeng1990 评论了
raychase 写道是否有考虑出版?呵呵,对大家有用就行。出版则是可遇不可求的事情了~
wonderlandsh 评论了
wonderlandsh 评论了