- 1

Fundamentos de Kotlin: Variables, funciones y estructuras de datos
01:47 - 2

Instalación y configuración de IntelliJ IDEA para Kotlin
11:16 - 3

Creación de proyecto Kotlin en IntelliJ y primer programa
13:47 - 4

Variables y tipos de datos básicos en Kotlin
20:58 - 5

Operadores aritméticos y módulo en Kotlin
14:28 - 6

Operadores lógicos AND, OR y NOT en programación
20:51 - 7

Manejo de valores nulos y operadores seguros en Kotlin
12:30 - 8

Lectura de datos por consola con readLine() en Kotlin
14:49 quiz de Fundamentos de Kotlin
Enums en Kotlin: Constantes organizadas para casos específicos
Clase 18 de 35 • Curso de Kotlin
Contenido del curso
- 9

Creación de funciones en Kotlin para organizar código
20:21 - 10

Condicionales en Kotlin: if/else
17:14 - 11

Estructura when de Kotlin para múltiples condiciones
17:44 - 12

Arrays y listas mutables en Kotlin: creación y manipulación
18:19 - 13

Listas inmutables y mutables en Kotlin
10:13 - 14

Ciclos for, while y do while en Kotlin para iterar colecciones
18:57 quiz de Contro de Flujo y Funciones
- 15

Creación de clases y objetos en Kotlin
17:05 - 16

Getters y setters en Kotlin: validación y propiedades calculadas
14:38 - 17

Dataclases en Kotlin: ventajas sobre clases normales
16:46 - 18

Enums en Kotlin: Constantes organizadas para casos específicos
20:33 - 19

Manejo de excepciones con Try Catch Finally en Kotlin
19:40 quiz de Programación Orientada a Objetos en Kotlin
- 20

Extension functions en Kotlin para ampliar clases existentes
18:14 - 21

Funciones de alto orden y lambdas en Kotlin
22:37 - 22

Uso de lambdas y funciones de alto orden en arrays y colecciones
10:05 - 23

Scope functions de Kotlin: let, apply y run para manipular objetos
15:30 - 24

Funciones with y also en Kotlin para operaciones múltiples
11:09 - 25

Modificadores de visibilidad y encapsulamiento en Kotlin
17:06 - 26

Interfaces y patrón repository en Kotlin para gestión de datos
20:00 quiz de Características Avanzadas de Kotlin
- 31

Creación de modelos y repositorios para simulador de emails en Kotlin
22:57 - 32

Creación de clase service para coordinar repositorios en Kotlin
18:19 - 33

Implementación de funciones avanzadas del servicio Inbox en Kotlin
21:19 - 34

Interfaz por consola para gestión de correos en Kotlin
16:50 - 35

Pruebas de funcionalidades de correo en Kotlin
07:32
Los enums o enumeraciones en Kotlin facilitan la organización clara y sencilla de grupos limitados de constantes relacionadas. Estas herramientas resultan prácticas cuando necesitas representar un conjunto fijo y limitado de valores, como carpetas de correo electrónico, prioridades o estados concretos.
¿Qué son los enums y cuándo utilizarlos en Kotlin?
En Kotlin, un enum es un tipo especial de clase que contiene un número fijo de constantes relacionadas. Para declararlos, empleamos la combinación de palabras clave enum class. Un ejemplo de aplicación común sería categorizar las carpetas de una bandeja de email:
enum class EmailFolders {
INBOX,
SENT,
DRAFT,
ARCHIVE,
SPAM
}
Los enums proporcionan un nivel adicional de control y claridad, siendo especialmente útiles al combinarlos con estructuras como when.
¿Cómo utilizar enums con estructuras de control como el when?
Al usar una variable de tipo enum con la estructura when, Kotlin verifica automáticamente que contemples todos los posibles casos, evitando así errores u omisiones:
when(carpetaActual) {
EmailFolders.INBOX -> println("Bienvenido a bandeja de entrada")
EmailFolders.SENT -> println("Bienvenido a enviados")
EmailFolders.DRAFT -> println("Bienvenido a borradores")
EmailFolders.ARCHIVE -> println("Bienvenido a archivados")
EmailFolders.SPAM -> println("Bienvenido a spam")
}
Esto asegura que cada opción disponible sea tratada adecuadamente, mejorando considerablemente la consistencia del entorno de trabajo.
¿Cómo asignar propiedades adicionales a cada constante en un enum?
Los enums no sólo guardan simples constantes, también permiten asignarles propiedades únicas, como niveles de prioridad o colores específicos:
enum class EmailPriority(val level: Int, val color: String) {
LOW(1, "gris"),
NORMAL(2, "azul"),
HIGH(3, "naranja"),
URGENT(4, "rojo")
}
Esta capacidad permite mayor flexibilidad y una mejor integración visual o lógica dentro de tu aplicación.
¿Cómo transformar entradas de usuario usando enums?
Cuando el usuario introduce un valor, es posible convertirlo directamente en una enumeración mediante una función dedicada.
fun prioridadAPriority(entero: Int): EmailPriority? {
return if (entero in 0 until EmailPriority.entries.size)
EmailPriority.entries[entero]
else null
}
Verificar que la entrada del usuario cae dentro del rango permitido evita errores inesperados en tiempo de ejecución.
¿Cómo iterar sobre los valores de un enum?
Para recorrer y utilizar todos los valores de un enum, Kotlin proporciona la función entries y métodos como forEachIndexed, útiles para mostrar índices y propiedades:
EmailPriority.entries.forEachIndexed { index, priority ->
println("$index: ${priority.name}, nivel ${priority.level}, color ${priority.color}")
}
Esto resulta especialmente valioso al construir interfaces amigables al usuario, mostrando claramente opciones disponibles.
Ejercicio práctico con enums
Se propone crear un enum llamado EstadoEmail con las constantes NUEVO, LEIDO y RESPONDIDO. Además, asignarles íconos representativos (en formato String o Int). Finalmente, implementar una función para convertir una entrada numérica a uno de estos estados, mostrando claramente su índice e icono asociado.
Te invitamos a compartir dudas o resultados en los comentarios. ¡Sigue practicando y fortaleciendo tus habilidades con Kotlin!