Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。
一般情况下Scala的类可以继承多个Trait,从结果来看就是实现了多重继承。Trait(特征) 定义的方式与类类似,但它使用的关键字是 trait。
案例实现
1.定义trait,不能传递参数
trait read{
def read(name:String): Unit ={
println(name +" is reading ...")
}
}
trait listen{
def listen(name:String): Unit ={
println(name +" is listen ...")
}
}
2.使用一个class类继承这些trait。
class Person1() extends read with listen{
//第一个继承使用extends 其余的都使用 with
}
3.调用类当中的接口:
object Trait1 {
def main(args: Array[String]): Unit = {
val p = new Person1()
p.read("张三")
p.listen("李四")
}
}
运行结果如下: