Scala的抽象类

49 阅读1分钟

类本身就是对对象的抽象,抽象类就是对类的抽象,就是一种更加模糊的类。

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

抽象类的主要目的是为子类提供公共的接口和部分实现,并确保子类实现抽象方法。

1.定义抽象类

定义一个Scala的抽象类:abstract class A{ }。

定义抽象属性:var|val 属性名:类型 一个属性没有初始化,没有值

定义抽象方法:def 方法名():String 只声明没有实现方法。

代码演示:

csharp
 体验AI代码助手
 代码解读
复制代码
package levelo3

object class06 {
  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()
  }
}

结果:报错!!

image.png

练习:定义一个智能汽车类

代码:

scala
 体验AI代码助手
 代码解读
复制代码
package levelo3

object class06 {
  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()
  }

}

结果:

image.png