抽象类

21 阅读1分钟

理解抽象类

  • 定义:抽象类是一个包含一个或多个抽象方法的类。抽象方法是不带任何实现的方法。抽象类也可以包含具体的方法和属性。
object Class17 {
  // 抽象类,定义了梦想工作的抽象属性
  abstract class DreamJob {
    var money: Double // 工资,仅声明类型,无具体值
    var vacation: Int // 假期天数,仅声明类型,无具体值
    var boss: String // 老板情况,仅声明类型,无具体值
  }

  // 子类(具体类),继承抽象类并实现所有抽象属性
  class PE extends DreamJob {
    var money: Double = 14500.0
    var vacation: Int = 4
    var boss: String = "无人"
  }

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

      val pe1 = new PE()
      // 打印子类中实现的工资属性
      println(pe1.money)
    }
}

定义抽象类

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

继承抽象类:子类继承了抽象类,它就必须去实现所有抽象属性和抽象方法

抽象类的重写