网站建设合同附件明细,甘肃省城乡住房建设厅网站,网站开发英文参考文献,百度交易平台官网kotlin-枚举
枚举也是一个对象#xff0c;枚举对象的定义需要使用enum关键字 枚举对象可以定义函数 假设定义一个星期枚举对象。就是一下写法
enum class Week {星期一,星期二,星期三,星期四,星期五,星期六,星期日;//打印星期几fun printWeek(){println(这是星期枚举对…kotlin-枚举
枚举也是一个对象枚举对象的定义需要使用enum关键字 枚举对象可以定义函数 假设定义一个星期枚举对象。就是一下写法
enum class Week {星期一,星期二,星期三,星期四,星期五,星期六,星期日;//打印星期几fun printWeek(){println(这是星期枚举对象$this)}
}如何使用枚举直接用枚举对象名.属性 下面是调用枚举的代码
fun main(args: ArrayString) {Week.星期二.printWeek()println(Week.星期一)
}
//打印结果
//这是星期枚举对象星期二
//星期一应用场景如果需要规定参数只能为某些固定值的时候就可以定义一个枚举对象传递的参数就必须是枚举的某些值。
Kotlin-印章
创建印章类需要使用sealed 关键字来声明。
sealed class Animal(var age:Int){fun eat(){println(动物会吃东西)}class Cat(age: Int) :Animal(age){fun catchMice(){println($age 岁的小猫会抓老鼠)}}class Dog(age: Int) : Animal(age){fun guardHouse(){println($age 岁的小狗会看家)}}
}印章类不能创建对象只能创建印章类里面定义的对象类型。 从使用层面看使用抽象类也能实现这种效果但是写法不一样。
fun main(args: ArrayString) {
// 创建一个动物印章类里面的小猫对象var cat Animal.Cat(1)cat.catchMice()//创建一个动物印章类里面的小狗对象var dog Animal.Dog(2)dog.guardHouse()//小猫和小狗都属于动物印章类所以可以放到一个集合里面var animals listOf(cat,dog)animals.forEach { if (it is Animal.Cat){it.eat()} }
}总结 枚举比较注重属性。可以简单理解为定义了一对常量。 印章类比较注重对象。可以使用抽象类实现类似效果。