scala:trait的基本使用

42 阅读1分钟

trait

特质:trait trait的作用:类似于抽象类,定义抽象属性,方法 让其他的子类去实现

代码示范:

package level02
/*
特质: trait
作用:类似于抽象类,定义抽象属性,方法
          让其他的子类去实现
 */
object class16 {
  trait A {
    var name:String;
  }
class Class1 extends A{
  var name:String="Class1"
}
  def main(args: Array[String]): Unit = {
  val class1=new Class1()
    println(class1.name)
  }

}

实现单个特质

作用:封装成员和方法,供其他类来实现。它可以实现多继承!

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

代码示范:

package level02

/*
特质: trait
作用:类似于抽象类,定义抽象属性,方法
          让其他的子类去实现
  特点: 可以实现多继承
 */
object class17 {
  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.age)
    println(class1.name)
  }

}