印章類
印章類又稱為密封類,用來表示受限的類繼承結構:當一個值為有限幾種的類型, 而不能有任何其他類型時。使用
sealed
關鍵字修飾類,印章類可以有子類,但是所有的子類都必須要内嵌在印章類中
現有母驢、公驢、公馬三隻動物
母驢+公驢=驢子
母驢+公馬=騾子
我們建立一個Son class來形容三隻動物的兒子,由于隻能是驢子,或騾子,是以我們加關鍵字
sealed
fun main(args: Array<String>) {
var son1:Son = Son.donkey()
var son2:Son = Son.mule()
var son3:Son = Son.donkey()
var list = listOf<Son>(son1,son2,son3)
for(s in list){
if(s is Son.donkey){
s.sayHello()
}
}
}
不能直接執行個體Son的,因為它有關鍵字
sealed
,沒有構造方法,是以這樣寫會報錯

檢視運作結果
枚舉
enum class Week{
星期一,星期二,星期三,星期四,星期五,星期六,星期天
}
fun main(args:Array<String>){
println(Week.星期一.ordinal)
println(Week.星期天.ordinal)
}