Scala的抽象类

44 阅读1分钟

抽象类的定义

抽象类是一个包含一个或多个抽象方法的类。抽象方法是不带任何实现的方法。抽象类也可以包含具体的方法和属性。

抽象类(abstract)

  1. 不能new,无法实例化
  2. 可以充当其他类的父类。抽象的方法和属性在子类中具体去实现。

基本例子

//抽象类 abstract
//   1.不能new,无法实例化
//   2.充当其他类的父类。抽象的方法和属性在子类中具体去实现。

//class,抽象?
//                  稳定的工作(抽象)

//                  老师,公务员,医生(具体)

object class18 {

  abstract class Job() {
    //具体属性
    var name:String="小花"
    //具体方法
    def hello():Unit={
      println("hello.....")
    }

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

  def main(args: Array[String]): Unit = {
    new Job() //此排代码报错
    }
}

具体案例

//抽象类 abstract
//   1.不能new,无法实例化
//   2.充当其他类的父类。抽象的方法和属性在子类中具体去实现。



object class19 {

  abstract class AICar() {

    //抽象属性,没有属性值,是抽象的
    var typeTh:String

    //抽象方法
    def autoRun():Unit
  }
  class XiaoMi extends AICar{

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

    def autoRun():Unit={
      println(s"小米公司的自动驾驶技术")
    }
  }

  def main(args: Array[String]): Unit = {
    val su7=new XiaoMi()
    
    su7.autoRun()
  }
}