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()
}
}
}
网友评论