Junior — Middle
Vai esat izmantojis sealed class savos projektos?
sobes.tech AI
Atbilde no AI
Jā, Android projektos Kotlin valodā esmu izmantojis sealed class, lai modelētu ierobežotas stāvokļu vai notikumu hierarhijas. Sealed class ļauj definēt apakšklases kopumu, kas ir zināmas kompilācijas laikā, kas atvieglo apstrādi ar when bez nepieciešamības rakstīt else zaru.
Piemērs, kā izmantot sealed class, lai aprakstītu ielādes stāvokļus:
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("Ielādē...")
is LoadState.Success -> println("Dati saņemti: ${state.data}")
is LoadState.Error -> println("Kļūda: ${state.error.message}")
}
}
Tas palīdz padarīt kodu drošāku un lasāmāku, īpaši strādājot ar UI stāvokļiem vai operāciju rezultātiem.