Sobes.tech
Junior — Middle

Qual é o objetivo de usar uma classe enum em Kotlin e como ela difere das enumerações normais?

sobes.tech IA

Resposta da IA

Em Kotlin, enum class é usado para definir um conjunto limitado de constantes, cada uma das quais é um objeto da classe. Ao contrário das enumerações normais em outras linguagens, as classes enum do Kotlin podem conter propriedades, métodos e implementar interfaces.

Principais diferenças:

  • Cada constante é uma instância da classe enum, podendo definir propriedades e comportamentos únicos.
  • É possível adicionar construtores e métodos.
  • Suporta herança de interfaces.

Exemplo:

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

    fun description() = "Direção $name com um ângulo de $degrees graus"
}

fun main() {
    println(Direction.NORTH.description()) // Direção NORTH com um ângulo de 0 graus
}

Assim, a classe enum em Kotlin é uma ferramenta poderosa para trabalhar com um conjunto de constantes relacionadas com lógica adicional.