抽象类-abstract-

26 阅读1分钟

1.抽象类-abstract

abstract为一种非常抽象的抽象属性(class,抽象)

1.不能new。无法实例化

2.只能用来充当其他类的父类。抽象的方法和属性在子类中的具体去实现

eg1:稳定的工作(抽象) 老师,公务员,医生(具体)

er2:

object class14 {

  abstract class Job() {
    //具体属性
    var name: String = "小花"

    //具体方法
    def hello():Unit = {
      println("hello...")
    }
    //抽象属性:它没有具体的属性值
    var age: Int
    //抽象方法:没有方法体
    def sayHello():Unit
  }





  def main(args: Array[String]): Unit = {

  }
}

eg3:

例子:

我需要会弹琴的,女生(标准)

幼师钢琴班(实现这个标准)

钢琴七级女老师(生成对象)

object class15 {

  abstract class AICar() {
    //抽象属性
    var typeTh:String

    //抽象方法
    def autoRun():Unit
  }//以上为定下的标准(第一段,1-9)
  class XiaoMi extends AICar{

    var typeTh = "视觉+雷达技术"

    def autoRun():Unit={
      println(s"小米公司驾驶技术")
    }
  }//以上为实现标准(第二段,10-17)




  def main(args: Array[String]): Unit = {
    val su7 = new XiaoMi()//这一句为生成对象(第三段)

    su7.autoRun()
  }
}