Sobes.tech
Junior — Middle

Použili ste sealed class vo svojich projektoch?

sobes.tech AI

Odpoveď od AI

Áno, v projektoch Kotlin pre Android som použil sealed class na modelovanie obmedzených hierarchií stavov alebo udalostí. Sealed class umožňuje definovať súbor podtried, ktoré sú známe v čase kompilácie, čo zjednodušuje spracovanie pomocou when bez potreby písania vetvy else.

Príklad použitia sealed class na opis stavov načítania:

sealed class LoadState {
    object Loading : LoadState()
    data class Success(val data: List<String>) : LoadState()
    data class Error(val error: Throwable) : LoadState()
}

fun handleState(state: LoadState) {
    when(state) {
        is LoadState.Loading -> println("Načítava sa...")
        is LoadState.Success -> println("Dáta prijaté: ${state.data}")
        is LoadState.Error -> println("Chyba: ${state.error.message}")
    }
}

Toto pomáha urobiť kód bezpečnejším a čitateľnejším, najmä pri práci so stavmi UI alebo výsledkami operácií.