抽象类

54 阅读1分钟

理解抽象类

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

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

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

定义抽象类

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

定义一个智能汽车类

abstract class AICar(){  
  def autoRun():Unit  
  var name:String  
}

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

定义抽象方法:def 方法名():String 只声明没有实现方法。 可以对抽象类使用new来实例化吗?

继承抽象类

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

package TestAbstract  
  
abstract class AICar(){  
  def autoRun():Unit  
  var name:String  
}  
  
class XiaoMi extends AICar(){  
  def autoRun(): Unit = {  
    println(s"New Car  $name auto dirve")  
  }  
  var name: String = "小米"  
}  
  
object Main {  
  def main(args: Array[String]): Unit = {  
    var nc = new XiaoMi()  
    nc.autoRun()  
  }  
}

 

第二课时

抽象类重写

如果子类中对抽象类中的方法定义不满意,仍可以使用override去覆盖的。


class XiaoMi extends AICar(){  
  def autoRun(): Unit = {  
    println(s"New Car  $name auto dirve")  
  }  
  override def Say() = { }  
  var name: String = "小米"  
}