Groovy 2.3 trait语法详解
发布时间:2021-12-11 15:17:05 所属栏目:教程 来源:互联网
导读:基本用法 在Groovy 2.3中,这样定义一个基本的trait: trait SwimmingAbility { def swim() { println swimming.. } } trait的定义与类的定义非常相似。SwimmingAbility trait只定义了一个swim()方法。接下来就可以使用implements关键字来向类中加入这个trait
基本用法 在Groovy 2.3中,这样定义一个基本的trait: trait SwimmingAbility { def swim() { println "swimming.." } } trait的定义与类的定义非常相似。SwimmingAbility trait只定义了一个swim()方法。接下来就可以使用implements关键字来向类中加入这个trait: class Goldfish implements SwimmingAbility { .. } 现在,我们就可以调用Goldfish对象的swim()方法了。 def goldfish = new Goldfish() goldfish.swim() 到这里,我们已经实现了与继承同样的功能。不同的是,我们可以添加多个trait到同一个类中。下面,我们定义其它的trait: trait FlyingAbility { def fly() { println "flying.." } } 再创建一个新的类,同时使用这些trait: class Duck implements SwimmingAbility, FlyingAbility { .. } 现在鸭子可以游动和飞了: def duck = new Duck() duck.swim() duck.fly() trait中的this关键字 trait中的this关键字代表了trait的实现的实例,所以,你可以这样写: trait FlyingAbility { def fly() { println "${this.class.name} is flying.." } } 如果调用duck.fly(),将会打印: Duck is flying.. ![]() (编辑:我爱制作网_潮州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |