trait 提供了一个介于单一继承和多重继承之间,我们可以利用它们对类进行增强!
Scala的Trait 可以将像 安全、日志、校验、事务、资源分配和管理等关注点应用到任意类中,而无需有多重实现来实现。
Trait
是一个可以混入一个类层次结构的行为。
Trait 像一个拥有部分实现的接口,Trait里定义和初始化的val和var会在混入trait的类的内部得到实现,定义过而未初始化的val 和var则认为是抽象的,需要有混入这些trait的类实现。
代码示例:
trait Friend{
val name:String
def listen()=println("你的朋友"+name+ "正在听你说")
}
用 With 可以混入更多的trait