更新时间:2023年06月09日18时17分 来源:传智教育 浏览次数:
在Scala中,Trait(特质)的功能类似于Java中的接口,但Trait的功能比Java中的接强大。例如,Trait可以对定义字段和方法进行实现,而接口却不能。Scala中的Trait可以被类和对象(Objects)使用关键字extends来继承。创建特质的语法格式如下:
trait traitName
上述语法格式中,关键字trait主要用于创建特质;traitName为特质的名称。下面,创建一个特质Animal,演示类继承特质并访问特质中方法的操作。具体代码如下所示。
trait Animal { //没有实现 def speak() def listen(): Unit ={ } def run(): Unit ={ println("I'm running") } } class People extends Animal { override def speak(): Unit ={ println("I'n speaking English") } } object People{ def main (args: Array[String]): Unit = ( var people mnew Beople people.speak() people.listen() people.run () } }
上述代码中,第1~7行代码创建了一个特质Animal,并在该特质中定义了3个方法Speak()、listen()和run();第10~12行代码创建了一个类People 并继承特质Animal,重写特质中的方法Speak();第15~20行代码是主方法main(),在主方法中创建People类的实例对象people,再使用实例对象访问特质Animal中的方法。