1. 繼承
// 父類
class person(val name:string, val age:int)
// 子類
// 如果希望使用子類中的值,去覆蓋父類中的值,需要加override關鍵字
class employee(override val name:string,override val age:int,val salay:int)
extends person(name,age)
object employee
}
執行結果
// 如果希望使用子類中的方法,去覆蓋父類中的方法,需要加override關鍵字
class employee(override val name:string,override val age:int,val salay:int)
extends person(name,age)
object employee
}}
執行結果
2. 抽象
// 使用抽象類。抽象類中包含抽象方法,抽象類只能用來繼承
// 父類
abstract class vihicle
class car extends vihicle
}class bysical extends vihicle
}object
}
執行結果
// 使用抽象字段,抽象字段就是乙個沒有初始值得字段
abstract class person
3. 特質(trait)
// trait就是抽象類。trait跟抽象類最大的區別就是trait支援多繼承,使用with關鍵字連線
// 第乙個抽象類
trait man
// 第二個抽象類
trait actions
// 子類,提供一主建構函式
class stu(val id:int, val name:string) extends man with actions ;
}// 測試類
object stu
}
執行結果 Scala中的抽象類
抽象類 抽象類中不一定有抽象方法或者抽象字段。有抽象字段或者抽象方法的類一定是抽象類。子類在實現抽象字段或者抽象方法的時候,不使用override。覆蓋方法 覆蓋的時候,一定使用override。覆蓋字段 抽象字段一定要有型別描述。覆蓋的時候,一定使用override。1 2 繼承 抽象類3 aut...
理解Scala中的抽象控制
在 快學scala 一書中,控制抽象被描述為是一系列語句的聚集,是一種特殊的函式,因為它是本質上只是對一系列語句的封裝,所以它理應 沒有引數輸入 沒有值返回。package com.zhengkw.scala.day03exc classname controlabs author zhengkw ...
Scala中的抽象類
抽象類 抽象類中不一定有抽象方法或者抽象字段。有抽象字段或者抽象方法的類一定是抽象類。子類在實現抽象字段或者抽象方法的時候,不使用override。覆蓋方法 覆蓋的時候,一定使用override。覆蓋字段 抽象字段一定要有型別描述。覆蓋的時候,一定使用override。1 2 繼承 抽象類3 aut...