W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Scala支持單繼承,而不是多重繼承。
子類可以只有一個(gè)父類。
Scala類層次結(jié)構(gòu)的根是Any,沒有父類。
class Vehicle (speed : Int){ val mph :Int = speed def race() = println("Racing") }
Vehicle類采用一個(gè)參數(shù),即車輛的速度。
創(chuàng)建類Vehicle的實(shí)例時(shí),必須傳遞此參數(shù),如下所示:
new Vehicle(100)
該類包含一個(gè)方法,稱為race
。
在Scala中擴(kuò)展基類類似于在Java中擴(kuò)展,除了兩個(gè)限制:
override
關(guān)鍵字,可以覆蓋從Scala中的超類繼承的方法,如下所示:
class Car (speed : Int) extends Vehicle(speed) { override val mph: Int= speed override def race() = println("Racing Car") }
類 Car
使用關(guān)鍵字 extends
擴(kuò)展 Vehicle
類。
字段mph和方法種族需要使用關(guān)鍵字覆蓋來覆蓋。
以下代碼顯示了另一個(gè)類Bike
擴(kuò)展Vehicle
。
class Vehicle (speed : Int){ val mph :Int = speed def race() = println("Racing") } class Car (speed : Int) extends Vehicle(speed) { override val mph: Int= speed override def race() = println("Racing Car") } class Bike(speed : Int) extends Vehicle(speed) { override val mph: Int = speed override def race() = println("Racing Bike") } object Main extends App { val vehicle1 = new Car(200) println(vehicle1.mph ) vehicle1.race() val vehicle2 = new Bike(100) println(vehicle2.mph ) }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: