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)
}