Scala语言中,采用特质trait(特征)来代替接口的概念,也就是说,多个类具有相同的特质(特征)时,就可以将这个特质(特征)独立出来,采用关键字trait声明。
一个类继承他的父类,还有其他特性,trait类似于Java里面interface的使用,也有区别
trait是interface和抽象类的结合,可以替代Java里面的接口,实现对单继承机制的一种补充
Scala中的trait中可以有抽象属性和方法也可以有具体的属性和方法,一个类可以混入(nixin)多个特质,这种感觉类似于Java中的抽象类。
语法trait 特质名{
trait主体}
特质基本语法
一个类具体某种特质(特征),就意味着这个类满足了这个特质(特征)的所有要素,所有在使用时,也采用了extends关键字,如果有多个特质或存在父类,那么需要采用with关键字连接。
基本语法
没有父类 class 类名 extends 特质1 with 特质2 with 特质3...
有父类 class 类名 extends 父类 with 特质1 with 特质2 with 特质3
说明
(1)类 与特质的关系是继承关系
(2)当一个类去继承特质时,第一个连接词是extends,后面是with.
(3)如果一个类在同时继承特质和父类时,应当把父类写在extends后