Scala 入门笔记 - Trait

package day03

object TraitDemo {
  def main(args: Array[String]): Unit = {
    val human = new Human

    println(human.name)
    println(human.distance)
    println(human.fight)
    println(human.run())
  }
}

/**
  * 特质
  */
trait Flyable {
  //
  val distance: Int

  def fight: String

  def fly: Unit = {
    println("flying")
  }
}


/**
  * 抽象类
  */
abstract class Animal {
  val name: String

  def run(): String

  def climb: Unit = {
    println("I can climb")
  }
}

// 可以直接继承
class Human extends Animal with Flyable {
  override val name: String = "aaa"

  override def run(): String = "I can run"

  override val distance: Int = 500

  override def fight: String = "fighting with gun"
}

  

posted @ 2019-08-16 11:13  刘宇石  阅读(149)  评论(0编辑  收藏  举报