0Pricing
Kotlin Multiplatform Academy · Lección

Clases y propiedades expect/actual

Más allá de las funciones: declaraciones que puede definir con expect/actual

Clases y propiedades expect/actual es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 3 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.

Más allá de las funciones

expect/actual no se limita a las funciones. También puede declarar classes completas, propiedades e incluso objetos que difieran según la plataforma.

Una propiedad expect

¿Necesita un valor que defina cada plataforma? Declare un expect val en commonMain y permita que cada destino proporcione el valor actual.

expect val platformName: String

Cada destino lo define

Android e iOS proporcionan cada uno un actual val. La propiedad se comporta como una constante en el código compartido, pero se resuelve por plataforma.

actual val platformName: String = "iOS"

Una clase expect

Para un comportamiento más completo, declare una expect class. Enumera los miembros que puede usar el código compartido, mientras cada plataforma proporciona sus cuerpos.

expect class Platform() {
  val name: String
}

La clase actual de Android

La actual class de androidMain implementa todos los miembros declarados. Aquí, name devuelve una cadena específica de Android.

actual class Platform actual constructor() {
  actual val name = "Android"
}

Haga coincidir exactamente los miembros

Cada clase actual debe declarar todos los miembros prometidos por el expect, con los mismos nombres y tipos. Si falta uno, se produce un error de compilación.

Los constructores también necesitan actual

Si la clase expect tiene un constructor, marque el de la plataforma como actual constructor. El compilador comprueba que coincidan.

Úselo como cualquier clase

En el código compartido solo tiene que crearlo y usarlo. El actual correcto respalda el objeto, por lo que la lógica common no conoce la plataforma.

val name = Platform().name

Añada elementos exclusivos de la plataforma

Una clase actual puede añadir miembros privados adicionales más allá del expect. El código compartido solo ve lo que declara el expect.

Prefiera la herramienta más pequeña

Use una propiedad expect para un valor, una función expect para una acción y una clase expect solo cuando necesite estado y comportamiento. ✨

Una nota moderna conocida

Las versiones recientes de Kotlin le orientan hacia interfaces combinadas con funciones expect/actual en lugar de classes expect, pero las clases siguen funcionando bien hoy.

Comprobación rápida

Considere qué le debe una clase actual a su expect.

Resumen

Ha visto que expect/actual también cubre propiedades y clases. Declare la forma en commonMain y, después, cumpla cada miembro en el actual de cada plataforma. 🎉

Preguntas frecuentes

¿La lección «Clases y propiedades expect/actual» es gratis?

Sí — el texto completo de «Clases y propiedades expect/actual» 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 y propiedades expect/actual»?

Más allá de las funciones: declaraciones que puede definir con expect/actual 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 3 de 4.

¿Cuánto tiempo toma la lección «Clases y propiedades expect/actual»?

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

  1. Por qué existe expect/actual
  2. Obtenga el nombre de la plataforma por destino
  3. Clases y propiedades expect/actual
  4. Errores comunes y del compilador
← Volver a Kotlin Multiplatform Academy