Kotlin-枚举类&密封类
1.枚举类
枚举类,用来定义常量集合的一种特殊类
1 | enum class Direction { |
传入一个构造函数
1 | enum class Direction(private val coordinate: Coordinate){ |
1.1 代数数据类型
可以用来表示一组子类型的闭集,枚举类就是一种简单的ADT
1 | enum class LicenseStatus { |
2.密封类
对于更复杂的ADT,可以使用Kotlin的密封类(sealed class)来实现更复杂的定义,密封类可以用来定义一个类似于枚举类的ADT,但你可以更灵活地控制某个子类型
密封类可以有若干个子类,要继承密封类,这些子类必须和它定义在同一个文件里
1 | sealed class LicenseStatus { |