抽象与具体属性

22 阅读1分钟
 
/*
   特质
   trait: 实现多继承  
 */
  
  trait BeautifulEye {
    val eye:String = "眼睛漂亮"
  }
  
  trait Tall {
    val height:String = "大高个"
  }
  
  //继承 with
  class Child extends BeautifulEye with Tall{
    
  }
  
  def main(args: Array[String]): Unit = {
    val child = new Child()
    println(child.eye)
    println(child.height)
trait BeautifulEye {
  val eye:String = "眼睛漂亮"
  val name:String // 抽象属性
}

trait Tall {
  val height:String = "大高个"
  def run():Unit = {
    println("run....")
  }
  def jump():Unit
}

//继承 with
class Child extends BeautifulEye with Tall{
  val name:String = "小花" //  实现抽象属性
  def jump(): Unit = {
    println(s"${name},   jump....")
  }
}

def main(args: Array[String]): Unit = {
  val child = new Child()
  println(child.eye)
  println(child.height)
  child.run()
  child.jump()