Enumy i klasy sealed do obsługi stanu
Bezpieczne modelowanie ustalonych opcji i wariantów wyników
Enumy i klasy sealed do obsługi stanu to bezpłatna lekcja Kotlin Multiplatform Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Multiplatform Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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.
Często zadawane pytania
Czy lekcja „Enumy i klasy sealed do obsługi stanu” jest bezpłatna?
Tak — pełny tekst „Enumy i klasy sealed do obsługi stanu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Multiplatform Academy, przejdź na CoddyKit PRO. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Enumy i klasy sealed do obsługi stanu”?
Bezpieczne modelowanie ustalonych opcji i wariantów wyników Ćwiczysz Kotlin Multiplatform Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Kotlin Multiplatform Academy?
Nie wymagamy żadnego doświadczenia. Kotlin Multiplatform Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Enumy i klasy sealed do obsługi stanu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Multiplatform Academy?
Tak. Każda lekcja Kotlin Multiplatform Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Klasy danych dla domeny
- Enumy i klasy sealed do obsługi stanu
- Bezpieczeństwo wartości null we współdzielonych modelach
- Pomocnicze funkcje walidacji modeli