繼承是面向?qū)ο蟮母拍?,用于代碼的可重用性??梢酝ㄟ^(guò)使用extends關(guān)鍵字來(lái)實(shí)現(xiàn)繼承。 為了實(shí)現(xiàn)繼承,一個(gè)類(lèi)必須擴(kuò)展到其他類(lèi),被擴(kuò)展類(lèi)稱(chēng)為超類(lèi)或父類(lèi)。擴(kuò)展的類(lèi)稱(chēng)為派生類(lèi)或子類(lèi)。
示例
class SubClassName extends SuperClassName(){
/* Write your code
* methods and fields etc.
*/
}

Scala單繼承示例
class Employee{
var salary:Float = 11100
}
class Programmer extends Employee{
var bonus:Int = 5100
println("Salary = "+salary)
println("Bonus = "+bonus)
}
object Demo{
def main(args:Array[String]){
new Programmer()
}
}
將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -
D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
Salary = 11100.0
Bonus = 5100
Scala支持各種類(lèi)型的繼承,包括單一,多層次,多重和混合。可以在類(lèi)中使用單一,多層次和層次結(jié)構(gòu)。多重和混合只能通過(guò)使用特征來(lái)實(shí)現(xiàn)。在這里,通過(guò)使用圖形表示所有類(lèi)型的繼承。

class A{
var salary1 = 10000
}
class B extends A{
var salary2 = 20000
}
class C extends B{
def show(){
println("salary1 = "+salary1)
println("salary2 = "+salary2)
}
}
object Demo{
def main(args:Array[String]){
var c = new C()
c.show()
}
}
將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -
D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
salary1 = 10000
salary2 = 20000