1. 程式人生 > 其它 >scala之抽象類

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" }

自此可以呼叫抽象類中的方法及欄位了