摘要:
转自:http://blog.csdn.net/hivon/article/details/4093302这里所说的接口类型,在Java语言和Groovy语言中,当然是既包括了基类类型和接口。所谓"接口类型的动态性",指的是在运行期内给基类或接口动态的添加方法,使得基类以及它的子类、接口的实现,都能访问这些方法。这个功能一向是我比较感兴趣的一个功能。因为我们在编程的实践中,会使用各种各样的应用API,还有JDK,在使用它们的过程中,可能有一些接口及它们的子类我们会经常使用到,但是在使用的过程中,我们又感到非常的不方便。这时候,我们可以使用Categories机制来对我们所使 阅读全文
posted @ 2013-04-26 10:46
只愿软禁
阅读(428)
评论(0)
推荐(0)
摘要:
国内很多的文章都在说Groovy语言的Mixin机制就是Groovy语言的Categories机制。其实,在外面的Blog上,大量有人在讨论Groovy语言应该如何实现它自己的Mixin机制,这就是说明Groovy语言的Mixin机制还没有定型,处在讨论之中。Categories机制当然也能实现部分的Mixin功能,就像Java语言的接口机制,还有组合等等,都能实现部分的Mixin功能。就像C++语言的多继承一样,这些"古老"的机制都能或多或少的实现部分的Mixin功能。其实,Mixin机制也没有想象的那么神秘和复杂。从字面上来看,它是由"mix"和&q 阅读全文
posted @ 2013-04-26 10:36
只愿软禁
阅读(454)
评论(0)
推荐(0)
摘要:
转自:http://blog.csdn.net/hivon/article/details/3215809我们谈到MOP,即“元对象协议”,就是对类或对象的各个元素,如名称、方法、属性等等,在运行期进行实时变化,如修改方法名、属性名,动态增加方法、属性等等的一类编程的统称。比如前面我们所谈到过的“invokeMethod”和“methodMissing”两个方法,就可以用来使得我们在运行期动态的给一个类增加方法,值得注意的是,这种增加是类级别的,即一个类所有的对象都可以增加方法。既然说过了在运行期给一个类动态的增加方法,那么相应的,在运行期给一个类动态的增加属性就是我们接着要考虑的事情。我们都 阅读全文
posted @ 2013-04-26 10:21
只愿软禁
阅读(1823)
评论(0)
推荐(0)
摘要:
转自:http://blog.csdn.net/hivon/article/details/3019631终于要谈到Groovy语言的MOP特性了,我在前面的章节中零星的谈到了它,却始终没有系统的来谈到它。这是因为Groovy语言的MOP特性实在是太灵活了,比如本章节要谈到的“invokeMethod”和“methodMissing”方法,它们的功能有很大的相似之处,而区别却相当的微妙。但是,不管怎么样,Groovy语言的MOP编程都是我们必须掌握的。而这个系列我没有计划多少个部分谈完,跟《Groovy探索之闭包》系列一样,探索一部分说一部分。本节要谈到的“invokeMethod”方法,我们 阅读全文
posted @ 2013-04-26 08:22
只愿软禁
阅读(2179)
评论(0)
推荐(0)
摘要:
转自:http://blog.csdn.net/hivon/article/details/4037600Class当然是Groovy语言从Java语言继承来的,这就是说Groovy语言也继承了Java语言的反射机制。这意味着我们能够像在Java语言里使用反射那样,在Groovy语言里写出诸如下面的代码:package groovy.reflect;import java.lang.reflect.Methodclass Testor { def testDelegate() { 'ok' } static main(args) { def t =... 阅读全文
posted @ 2013-04-26 08:12
只愿软禁
阅读(907)
评论(0)
推荐(0)
浙公网安备 33010602011771号