Kotlin Enum Functions and Properties in enums


Enum classes can also declare members (i.e. properties and functions). A semicolon (;) must be placed between the last enum object and the first member declaration.

If a member is abstract, the enum objects must implement it.

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)