- 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
Creación de clases y objetos en Kotlin
Clase 15 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
Cuando necesitamos representar elementos del mundo real en programación, las clases y los objetos son la opción ideal. A través de Kotlin, podremos entender mejor estos conceptos creando ejemplos claros como el de un email con distintas propiedades y acciones posibles, tales como marcarlo como leído o no leído. Este proceso nos ayudará a entender cómo estructurar datos y funcionalidades fácilmente.
¿Qué es una clase y para qué sirve en Kotlin?
Una clase es como un molde o plano que te permite definir propiedades (atributos) y funcionalidades (métodos). Al igual que en el ejemplo del correo electrónico, puedes crear una clase Email con atributos como asunto, remitente, mensaje y una propiedad para indicar si ha sido leído o no. Las funcionalidades están representadas por métodos como marcar como leído o no leído, o mostrar información.
Por ejemplo, puedes definir una clase así:
class Email(val asunto: String, val remitente: String, val mensaje: String) {
var leido: Boolean = false
fun marcarComoLeido() {
leido = true
}
fun marcarComoNoLeido() {
leido = false
}
fun mostrarInfo() {
println("Remitente: $remitente, Asunto: $asunto, Leído: $leido")
}
}
Luego, puedes crear objetos (instancias) que vivirán realmente en memoria basados en ese molde inicial. Un ejemplo es:
val emailUno = Email(
asunto = "Reunión viernes",
remitente = "carlos@email.com",
mensaje = "No olvides la reunión del viernes."
)
emailUno.mostrarInfo()
¿Cómo relacionar una clase con otra y crear colecciones de objetos?
A veces, una clase podrá contener o depender de otras clases. Un ejemplo claro es una bandeja de correos (BandejaEmails) que contenga una lista mutable de objetos tipo Email. Para manejar esta relación, se utilizan estructuras como listas mutables.
Aquí tienes un ejemplo práctico:
class BandejaEmails {
val emails = mutableListOf<Email>()
fun agregarEmail(email: Email) {
emails.add(email)
}
fun contarNoLeidos(): Int {
var contador = 0
for (email in emails) {
if (!email.leido) {
contador++
}
}
return contador
}
}
Luego instancias objetos de correos electrónicos y los agregas a tu bandeja:
val emailUno = Email("Reunión viernes", "carlos@email.com", "No olvides la reunión del viernes.")
val emailDos = Email("Saludos", "ana@email.com", "Un saludo cordial.")
val emailTres = Email("Factura", "tienda@email.com", "Adjunto la factura.")
emailUno.marcarComoLeido()
val bandejaEmails = BandejaEmails()
bandejaEmails.agregarEmail(emailUno)
bandejaEmails.agregarEmail(emailDos)
bandejaEmails.agregarEmail(emailTres)
println("Faltan por leer: ${bandejaEmails.contarNoLeidos()}") // Resultado debería ser 2
¿Cómo puedes practicar creando una clase con propiedades simples?
Para poner en práctica lo aprendido, puedes crear por tu cuenta una clase sencilla llamada Contacto:
- Esta clase debe tener dos propiedades: nombre y email.
- También debe incluir una función que imprima los datos del contacto.
La implementación sería algo parecido a esto:
class Contacto(val nombre: String, val email: String) {
fun mostrarContacto() {
println("Nombre: $nombre, Email: $email")
}
}
val contactoUno = Contacto("María", "maria@example.com")
contactoUno.mostrarContacto()
Este enfoque práctico te permitirá interiorizar rápidamente cómo funcionan las clases, objetos y métodos, fortaleciendo tu manejo del lenguaje Kotlin. ¿Te animas a practicar creando nuevas clases ahora mismo?