scala之抽象类
在scala中是如何定义抽象类和抽象字段的呢, 抽象字段不能赋值,抽象方法不能有方法
package cn.qianfeng object demo_Abstract { def main(args: Array[String]): Unit = { val t = new HuaweiTv t.powerOn() t.powerOff() println(t.logo) } } abstract class Tv{ //抽象类的创建 var color:String = _ //非抽像字段,有赋初始值 val logo:String //抽像字段,可以不赋初始值 def powerOn() // 抽象方法的创建 def powerOff() // 抽象方法的创建 def show: Unit ={ // 非抽象方法的创建 println("好电视!!") } }
所以在子类中对于抽象类和抽象字段必须要实现重写
package cn.qianfeng object demo_Abstract { def main(args: Array[String]): Unit = { val t = new HuaweiTv t.powerOn() t.powerOff() println(t.logo) } } abstract class Tv{ //抽象类的创建 var color:String = _ //非抽像字段,有赋初始值 val logo:String //抽像字段,可以不赋初始值 def powerOn() // 抽象方法的创建 def powerOff() // 抽象方法的创建 def show: Unit ={ // 非抽象方法的创建 println("好电视!!") } } class HuaweiTv extends Tv{ override def powerOn(): Unit = { // 重写父类方法 println("华为电视开机") } override def powerOff(): Unit = { println("华为电视关机") } override val logo: String = "华为的Logo" }
自此可以调用抽象类中的方法及字段了