Sobes.tech
Junior — Middle

Koja je svrha korišćenja enum class u Kotlin-u i kako se razlikuje od običnih enumeracija?

sobes.tech АИ

Одговор од АИ

U Kotlinu, enum class se koristi za definisanje ograničenog skupa konstanti, od kojih je svaka objekat klase. Za razliku od običnih enumeracija u drugim jezicima, Kotlin enum klase mogu sadržavati svojstva, metode i implementirati interfejse.

Glavne razlike:

  • Svaka konstanta je instanca enum klase, može imati jedinstvena svojstva i ponašanje.
  • Mogu se dodavati konstruktori i metode.
  • Podržano je nasleđivanje interfejsa.

Primer:

enum class Direction(val degrees: Int) {
    NORTH(0),
    EAST(90),
    SOUTH(180),
    WEST(270);

    fun description() = "Smer $name sa uglom od $degrees stepeni"
}

fun main() {
    println(Direction.NORTH.description()) // Smer NORTH sa uglom od 0 stepeni
}

Dakle, enum class u Kotlinu je moćan alat za rad sa skupom povezanih konstanti sa dodatnom logikom.