Clases de datos para su dominio
Modelos compartidos inmutables con copy y equals incluidos
Clases de datos para su dominio es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Multiplatform Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Your Domain Needs Models
Every app describes real things like users, orders or songs. In KMP you model them once with shared data classes.
Meet the data class
A data class is a small type built to hold values. You add the keyword and list the properties in the header.
data class User(val id: Int, val name: String)It Lives in commonMain
Put your model in commonMain and both the Android and iOS apps see the exact same shape with no duplication.
// shared/src/commonMain
data class User(val id: Int, val name: String)Create an Instance
Build a model by calling it like a function and passing each value. The object now carries your data everywhere.
val ada = User(id = 1, name = "Ada")Read the Properties
Access any field with a dot. Reading properties works the same in shared code, Android and iOS.
val label = ada.name + " #" + ada.idFree toString
A data class auto-generates a readable toString, so printing a model shows its values instead of a cryptic address.
println(ada) // User(id=1, name=Ada)Value-Based equals
Two models with the same fields are considered equal. Data classes compare by content, not by memory identity.
User(1, "Ada") == User(1, "Ada") // trueCopy with Changes
The free copy function clones a model while overriding only the fields you name, keeping the original untouched.
val renamed = ada.copy(name = "Grace")Prefer Immutable val
Declare fields as val so models cannot change after creation. Immutable data is safer to share across platforms.
data class Song(val title: String, val seconds: Int)Compose Models Together
A model can hold other models as fields, letting you nest data classes to mirror real relationships in your domain.
data class Playlist(val owner: User, val songs: List<Song>)Why This Matters
One shared model means Android and iOS can never disagree about your data shape, killing a whole class of bugs. 🙂
Quick Check
Which free feature did the data class give you here?
Recap
Shared data classes in commonMain give you copy, equals and toString for free, modeling your domain once for both apps.
Preguntas frecuentes
¿La lección «Clases de datos para su dominio» es gratis?
Sí — el texto completo de «Clases de datos para su dominio» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Multiplatform Academy, actualiza a CoddyKit PRO. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Clases de datos para su dominio»?
Modelos compartidos inmutables con copy y equals incluidos Practicas Kotlin Multiplatform Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Kotlin Multiplatform Academy?
No se requiere experiencia previa. Kotlin Multiplatform Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Clases de datos para su dominio»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Kotlin Multiplatform Academy?
Sí. Cada lección de Kotlin Multiplatform Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Clases de datos para su dominio
- Enums y clases sealed para el estado
- Seguridad frente a nulos en modelos compartidos
- Ayudantes de validación en sus modelos