列舉中的函式和屬性

列舉類也可以宣告成員(即屬性和函式)。必須在最後一個列舉物件和第一個成員宣告之間放置分號(;)。

如果成員是 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)
}