Enum e sealed class per lo stato
Modellare in sicurezza opzioni fisse e varianti dei risultati
Enum e sealed class per lo stato è una lezione Kotlin Multiplatform Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Multiplatform Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Model Fixed Choices
Some values have a known, limited set of options. Kotlin gives you enums and sealed classes to model them safely in shared code.
Meet the enum class
An enum class lists every allowed value by name. Nothing outside that list can ever sneak in.
enum class Status { ACTIVE, PAUSED, DONE }Use an enum Value
Refer to an option by its name. Because the set is closed, your state is always one of the listed cases.
val current = Status.ACTIVEEnums Can Carry Data
Give an enum constructor properties so each case can hold extra fixed info, like a label or numeric code.
enum class Plan(val price: Int) { FREE(0), PRO(9) }When Cases Need Different Data
Enums share one shape. When variants need different fields, reach for a sealed class instead.
Meet the sealed class
A sealed class defines a closed family of subtypes. Each subtype can carry its own distinct data.
sealed class Result
data class Ok(val value: String) : Result()
data class Err(val message: String) : Result()Why Sealed Is Powerful
Because the compiler knows every subtype, a sealed class models success, loading and error states with type-safe payloads.
val state: Result = Ok("loaded")Match with when
Handle each case using when. The compiler checks you covered every variant of the sealed type.
when (state) {
is Ok -> println(state.value)
is Err -> println(state.message)
}Exhaustive when, No else
When you handle all sealed cases, you can drop the else branch. Add a new subtype later and the compiler reminds you.
Shared, So Both Apps Agree
Defined in commonMain, these state types drive identical logic on Android and iOS with zero drift.
Pick the Right Tool
Use an enum for simple fixed options, and a sealed class when each case carries different data.
Quick Check
Which type should model these states?
Recap
Use shared enums for fixed options and sealed classes for variants with their own data, then match them safely with when.
Domande Frequenti
La lezione «Enum e sealed class per lo stato» è gratuita?
Sì — il testo completo di «Enum e sealed class per lo stato» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Multiplatform Academy, passa a CoddyKit PRO. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
Cosa imparerò in «Enum e sealed class per lo stato»?
Modellare in sicurezza opzioni fisse e varianti dei risultati Eserciti Kotlin Multiplatform Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Kotlin Multiplatform Academy?
Non è richiesta alcuna esperienza precedente. Kotlin Multiplatform Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Enum e sealed class per lo stato»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Kotlin Multiplatform Academy?
Sì. Ogni lezione Kotlin Multiplatform Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Data class per il dominio
- Enum e sealed class per lo stato
- Null safety nei modelli condivisi
- Helper di validazione per i modelli