印章类

2020-12-21  本文已影响0人  GaoXiaoGao

kotlin中定义印章类通过在类 class 前面添加 sealed 实现
印章类可以定义一个类可以创建出几个类型的这种类

/**
 * 印章类
 * 添加sealed关键字后,创建时只有用几个指定的类型
 */
sealed class Son {

    fun sayHello(){
        print("大家好")
    }
    class 小小驴():Son()
    class 小骡子():Son()
}

以上的类在使用时,只能创建出 小小驴和小骡子两种类型的Son类,无法创建其它的

fun main(args:Array<String>) {

    var s1:Son = Son.小小驴()
    var s2:Son = Son.小骡子()
    var s3:Son = Son.小小驴()

    var list = listOf<Son>(s1,s2,s3)

    for(v in list){
        if(v is Son.小骡子){
            v.sayHello()
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读