scala入门系列(四) - extends abstract trait

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35744460/article/details/89705539
object AbsApp {
  def main(args: Array[String]): Unit = {
    val a = new A
    println(a.eat)
    println( a.say)
//    println(a.run())
  }
}
//*********extends 后面可以跟 abstract 或 trait  with 后面 必须是 trait   with 后面可以多个 (多实现)******
class A extends B with C{
  override def eat() ={
    println("a")
    "aaa"
  }

  override def say() = {
    println("aa")
    "aaaa"
  }
}
//抽象类 
//不能直接new 
// 子类必须实现 父类 的所有方法 否则必须也用abstrast 修饰 
abstract class B{
  def eat():String
  def run()={
    println("B")
    "b"
  }
}
//scala不支持对类进行多继承,但是支持多重继承trait,使用with关键字即可
trait C {
  def say():String
//  def run() ={
//    println("c")
//    "c"
//  }

}

猜你喜欢

转载自blog.csdn.net/qq_35744460/article/details/89705539
今日推荐