Junior — Middle
Loyihalaringizda sealed classdan foydalandingizmi?
sobes.tech AI
AIdan javob
Ha, Android uchun Kotlin loyihalarida, cheklangan holatlar yoki voqealar hierarxiyalarini modellashtirish uchun sealed class ishlatganman. Sealed class, kompilatsiya vaqtida ma'lum bo'lgan subklasslar to'plamini aniqlash imkonini beradi, bu when yordamida ishlashni soddalashtiradi va else bo'lak yozishga ehtiyoj qolmaydi.
Yuklash holatlarini tasvirlash uchun sealed class misoli:
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("Yuklanmoqda...")
is LoadState.Success -> println("Ma'lumotlar olindi: ${state.data}")
is LoadState.Error -> println("Xato: ${state.error.message}")
}
}
Bu kodni xavfsizroq va o'qilishi osonroq qilishga yordam beradi, ayniqsa UI holatlari yoki operatsiya natijalari bilan ishlashda.