(一)、理解抽象类
类本身就是对对象的抽象,抽象类就是对类的抽象,就是一种更加模糊的类。
定义:抽象类是一个包含一个或多个抽象方法的类。抽象方法是不带任何实现的方法。抽象类也可以包含具体的方法和属性。
目的:抽象类的主要目的是为子类提供公共的接口和部分实现,并确保子类实现抽象方法。
(二)、继承抽象类
//抽象类 abstract
// 1.不能new。无法实例化。
// 2.充当其他类的父类。抽象的方法和属性在子类中具体去实现
//class,抽象?
//
object class15 {
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()
}
}
(三)、抽象类重写
重写要点:
(1)抽象类中的方法可以有抽象的和非抽象的,同样属性也可以有抽象的和非抽象的。
(2)抽象方法可以实现,而非抽象方法可以继承或重写。
(2)属性中对于抽象成员是必须要实现的,而非抽象成员可以继承或重写。