Saltar al contenido principal

Enum classes en Kotlin

En Kotlin, puedes crear enumeraciones utilizando la palabra clave enum class.

Las enumeraciones son una forma de definir un conjunto fijo de constantes que representan valores específicos. Cada constante en una enumeración tiene un nombre y un valor asociado.

enum class Color {
ROJO, VERDE, AZUL
}

En el ejemplo anterior, se define una enumeración Color con tres constantes ROJO, VERDE y AZUL.

Propiedades de las enumeraciones

Las enumeraciones en Kotlin tienen las siguientes propiedades:

  • Constantes: Las enumeraciones contienen un conjunto fijo de constantes que representan valores específicos.

  • Propiedades y métodos: Las enumeraciones pueden tener propiedades y métodos asociados con cada constante.

  • Constructores: Las enumeraciones pueden tener constructores personalizados para inicializar las constantes con valores específicos.

  • Implementación de interfaces: Las enumeraciones pueden implementar interfaces y heredar de clases.

Acceso a las constantes de una enumeración

Puedes acceder a las constantes de una enumeración utilizando la notación de punto.

val color = Color.ROJO

En el ejemplo anterior, se accede a la constante ROJO de la enumeración Color y se asigna a la variable color.

Propiedades y métodos de una enumeración

Puedes definir propiedades y métodos en una enumeración para agregar funcionalidades a las constantes.

enum class Color(val rgb: Int) {
ROJO(0xFF0000),
VERDE(0x00FF00),
AZUL(0x0000FF);

fun nombreEnMayusculas(): String {
return name.toUpperCase()
}
}

En el ejemplo anterior, se define una enumeración Color con una propiedad rgb y un método nombreEnMayusculas que devuelve el nombre de la constante en mayúsculas.

Implementación de interfaces con enumeraciones

Las enumeraciones en Kotlin pueden implementar interfaces para agregar funcionalidades a las constantes.

interface Describible {
fun describir(): String
}

enum class DiaSemana : Describible {
LUNES {
override fun describir(): String {
return "Primer día de la semana"
}
},
MARTES {
override fun describir(): String {
return "Segundo día de la semana"
}
},
MIERCOLES {
override fun describir(): String {
return "Tercer día de la semana"
}
}
}

En el ejemplo anterior, se define una interfaz Describible con un método describir.

Se crea una enumeración DiaSemana que implementa la interfaz Describible y define la implementación del método describir para cada constante.

Uso de enumeraciones en Kotlin

Las enumeraciones son útiles en Kotlin para:

  • Definir un conjunto fijo de constantes que representan valores específicos.
  • Agregar propiedades y métodos a las constantes para agregar funcionalidades.
  • Implementar interfaces y heredar de clases para agregar funcionalidades a las constantes.