scala的抽象类

33 阅读1分钟

一、理解抽象类

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

二、定义一个抽象类

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

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

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

object class15 {
  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 ()  报错,抽象类不能new
  }
}

三、继承一个抽象类

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

// 抽象类 abstract
//    1.不能new。无法实现实例化
//    2.充当其他类的父类。抽象的方法和属性在子类中具体去实现
object class16 {
  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()
  }
}