scala 中trait基本使用

31 阅读1分钟

(一)trait定义和作用

。Scala的特质定义如下:

trait identified {  
    属性; 方法

}

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

package level02
/*
*  特质:trait
 */
object class20 {
  trait Tall {
    var height:Int = 180
  }
  trait Eye {
    var beautifulEye:String = "大眼睛"
  }

  //class 有两个父类
  class Girl extends Tall with Eye{}

  def main(args:Array[String]): Unit = {
    val girl1 = new Girl()

    girl1.beautifulEye
    girl1.height
  }
}

(二)实现特质

package level02

/*
*  特质:trait
 */
object class21 {
  trait  Tall{
    var height:Int = 180

    var name:String // 抽象属性
    def say():Unit = {println(s"${name}")}

    def cry():Unit // 抽象方法
}
  trait Eye {
    var beautifulEye:String = "大眼睛"
    var age:Int
  }

  //子类一定要实现所有的父类中的抽象成员(属性,方法)
  class Girl extends Tall with Eye{
    var name:String = "女士"
    def cry():Unit = {
      println("cry......")
    }
    var age:Int = 18
  }
  def main(args:Array[String]): Unit = {
    val girl1 = new Girl()

    girl1.say()

    println(girl1.beautifulEye)
    println(girl1.height)
  }
}