- 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
Scope functions de Kotlin: let, apply y run para manipular objetos
Clase 23 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
Las scope functions de Kotlin permiten acceder momentáneamente al contexto de un objeto para aplicar diversas operaciones. Son funciones transversales que podrás implementar tanto en clases propias como en aquellas provenientes de librerías como Kotlin o Java. Aquí comprenderás cómo funcionan algunas de las más útiles: let, apply y run.
¿Qué son y para qué sirven las scope functions?
Las scope functions en Kotlin ofrecen una manera sencilla de acceder y operar con los atributos y métodos de un objeto. Facilitan la escritura de código más limpio y legible al reducir redundancias y manejar variables temporales.
¿Cómo utilizar la función let de manera segura y efectiva?
La función let es especialmente útil para manejar nulabilidad y realizar transformaciones entre tipos. Se utiliza principalmente para:
- Validar que un objeto no sea nulo antes de utilizarlo.
- Transformar un objeto en otro mediante operaciones específicas.
Veamos un ejemplo práctico generando un identificador único con la librería UUID de Java y transformándolo en un objeto email:
val emailID = UUID.randomUUID().toString()
val email = emailID.let { id ->
Email(id = id, subject = "reunión", body = "mensaje")
}
Recuerda que let devuelve el valor de la última línea ejecutada dentro del bloque.
¿En qué consiste la función apply para modificar atributos?
La función apply facilita cambiar propiedades de un objeto inmediatamente después de crearlo. Es especialmente útil cuando necesitas inicializar o modificar estados del objeto justamente tras su creación:
val emailDos = Email(UUID.randomUUID().toString(), "reunión", "mensaje").apply {
subject = "Fiesta fin de año"
}
Este código muestra cómo el objeto es creado inicialmente con un valor y luego modificado directamente dentro del bloque apply. Esta práctica es similar al patrón de diseño Builder.
¿Cuál es el propósito específico de la función run y cómo cambia el tipo de retorno?
Con run, puedes acceder a propiedades del objeto y ejecutar operaciones adicionales, teniendo la particularidad de poder retornar un tipo diferente al original del objeto:
val emailTres = Email(UUID.randomUUID().toString(), "oferta", "mensaje").run {
isGreet = true
"Email procesado: ${subject.uppercase()}"
}
En este caso, emailTres ya no es un objeto de tipo Email, sino el string final producido en la última línea del bloque de código.
¿Cuándo usar it y cuándo this en las lambdas?
Es crucial entender cuándo Kotlin utiliza it y cuándo usa this dentro del contexto:
- it: cuando la instancia del objeto actúa como argumento o parámetro, como en la función
let. - this: cuando necesitas acceder directamente al objeto para modificar propiedades o llamar métodos, como en
applyorun.
El uso correcto de cada una asegura claridad y precisión semántica.
Próximos pasos hacia wit y also
Una vez dominadas let, apply y run, estarás listo para explorar otras scope functions poderosas como with y also. Estas funciones también aportan claridad y eficiencia en la manipulación de objetos y variables.