Scala中的trait基本使用

40 阅读1分钟

trait定义和作用

Scala的特质定义如下:

trait identified {  
    属性; 方法
}

trait是关键字,identified 表示一个合法的标记。

实现多个特质

格式:类名 extends 特质1 with 特质2 with 特质3  其中多个特质的顺序可以交换。

/*
* 特质:trait
* 作用:类似于抽象类,定义抽象属性,方法
*       让其他的子类去实现
* 特点:可以实现多继承
*
* */
object class20 {

  trait A {
    var name:String;//抽象属性
    def sayA(): Unit = {//具体方法
      println("sayA")
    }
  }

  trait B {
    var age:Int
  }

  class Class1 extends A with B {
    var name:String = "Class1"
    var age:Int = 4
  }


  def main(args: Array[String]): Unit = {
    val class1 = new Class1
    class1.sayA()
    println(class1.name)
    println(class1.age)
  }
}