首页 > 代码库 > 8.scala:特质
8.scala:特质
版权申明:转载请注明出处。
文章来源:http://bigdataer.net/?p=317总体来说,scala中的特质类似于Java中的接口,但是有别于接口的是特质中既可以有实现方法也可以有抽象方法。
1.特质的定义
使用关键字trait来定义一个特质,如:
scala 5行
trait Log{ def info(msg:String) def debug(msg:String){print(msg)} }
2.特质的使用
通过关键字extends来使用特质,这样,使用了特质的这个类就混入了特质的实现方法和抽象方法。其中,实现方法可以直接使用,抽象方法可以在类中实现,需要注意的是重写这些方法不需要使用注解override。如:
scala 7行
class Cat extends Log{ //实现抽象方法 def info(msg:String){print("I am a cat")} //直接使用已实现的方法 debug("I am running") }
3.特质的叠加
可以为一个类添加多个特质,使用关键字with连接。如果添加的多个特质里面有相同的方法,可以使用super[T].method()来指定使用哪个特质里面的方法。如……[阅读全文]
8.scala:特质
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。