枚举中的函数和属性

枚举类也可以声明成员(即属性和函数)。必须在最后一个枚举对象和第一个成员声明之间放置分号(;)。

如果成员是 abstract,则枚举对象必须实现它。

enum class Color {
    RED {
        override val rgb: Int = 0xFF0000
    },
    GREEN {
        override val rgb: Int = 0x00FF00
    },
    BLUE {
        override val rgb: Int = 0x0000FF
    }

    ;

    abstract val rgb: Int

    fun colorString() = "#%06X".format(0xFFFFFF and rgb)
}