Junior — Middle
Kotlin-də sealed sinifin üstünlükləri və istifadə ssenariləri haqqında bilirsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin-də sealed sinif irsiyyət nizamını məhdudlaşdırmaq üçün istifadə olunur. Sealed sinifin bütün alt sinifləri eyni faylda elan edilməlidir. Bu, tərtibçiyə bütün mümkün varis variantlarını bilməyə imkan verir və when ifadələrində else bölməsini yazmağa ehtiyac qalmadan istifadə etmək üçün əlverişlidir.
Üstünlüklər:
- Tip təhlükəsizliyi: tərtibçi bütün variantların tam işlənməsini yoxlayır.
- Məhdud vəziyyət və ya hadisə toplusunun modelləşdirilməsi üçün əlverişlidir.
İstifadə ssenariləri:
- "vəziyyət" nümunəsində vəziyyətlərin tətbiqi.
- Hadisələrin və ya əmrlərin işlənməsi.
- API cavabları kimi məhdud seçimlər toplusunun nümayişi.
Nümunə:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
object Loading : Result()
}
fun handleResult(result: Result) {
when(result) {
is Result.Success -> println("Məlumatlar: ${result.data}")
is Result.Error -> println("Xəta: ${result.error.message}")
Result.Loading -> println("Yüklənir...")
}
}