trait 类似于 Java 8 中可以带默认方法的接口。
trait 中可以带有实现的方法,也可以带有抽象的方法,使用 trait 的方式是使用 with 关键字
下面先看一下 trait 的实例:
注意:我们使用 extends 引入的 trait
第一个不论是类,还是特性,都用 extends 引用,第二个开始,就要用 with
子 trait 可以覆写父 trait 中的方法,实例中的父类未实现函数log():
3 如果子 trait 覆写父 trait 中的已实现的方法,就必须使用 override 关键字:
下面展示一下在对象中携带 trait
\
可以看到,调用的是 MessageLogger 中的 log()函数,说明后引入的 MessageLogger 覆盖了前面的 Flogger特性
对 Scala 中 trait 的学习到这里就先告一段落了,后面会介绍 Scala 中的 apply 方法和单例对象