技术开发 频道

Groovy高效编程——Mixin的使用

  【IT168 技术文档】由于Java一种单继承的语言,即子类只能继承一个父类,所以无法重用两个类的实现,Groovy在这方面做了些改进,引入了Mixin

  现在让我们看一下Groovy中的Mixin的威力吧:

  // 创建一个Category,以重用该类中的静态方法的实现   class FileCategory {   // 实现操作符(<<)重载( << 对应的方法为leftShift )   static leftShift(self, other) {   // 将"Hello, "以及other中的内容写入self表示的文件中   self.write( " Hello, $other " )   println " done! "   }   }   // 利用关键字use,使用之前创建的Category   use (FileCategory) {   // 创建File的一个实例, 并将"Hello, 山风小子"写入该文件中,注意不带双引号   new File( " hello.txt " ) << " 山风小子 "   }

  File类 已经继承了Object类 ,但它通过Groovy中Mixin,重用了FileCategory类中leftShfit方法的实现,

  其相关细节说明已经注于代码中,希望大家喜欢 :)

  未来Groovy的Mixin实现:http://docs.codehaus.org/display/GroovyJSR/Mixins

0
相关文章