抽象类

42 阅读1分钟

(一)理解抽象类

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

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

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

定义抽象类

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


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

    // 具体方法
    def hello():Unit = {
      println("hello...")
    }

    // 抽象的属性: 它没有具体的属性值
    var age:Int

    // 抽象的方法: 没有方法体的方法
    def sayHello():Unit
  }
定义抽象属性:var|val 属性名:类型 一个属性没有初始化,没有值
定义抽象方法:def 方法名():String 只声明没有实现方法。

(二)继承抽象类

  • 子类继承了抽象类,它就必须去实现所有抽象属性和抽象方法
代码例子如下:
object basic16 {
  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()
     }
}