Android kotlin密封类-基本使用

定义:

密封类(Sealed Classes)是一种特殊的类,它可以有一组受限的子类。与普通的基类不同,密封类的所有子类都必须在与密封类相同的文件中声明。这种限制使得密封类非常适合于表示固定的类层次结构,特别是在使用 when 表达式时。

在什么情况下使用:

  1. 代表有限的状态集:在建模状态机或处理具有有限状态的业务逻辑时,密封类是一个理想的选择。
  2. 安全的类型检查:使用密封类可以确保 when 表达式涵盖所有可能的情况,从而避免漏掉某些分支。

**使用场景举例:**表示 UI 的不同状态,如加载、成功和错误。

创建举例:

Kotlin 复制代码
    //创建                 
    sealed class State{
        object YES: State()
        object ING: State()
        object NO(val msg: String): State()
    }

使用举例:

Kotlin 复制代码
        //创建和声明
        var thisState: MediatorLiveData<State> = MediatorLiveData()
        //赋值
        thisState.value = State.NO("失败的原因")
        //使用
        thisState.observe(this) {
            when (it) {
                State.YES -> {

                }

                State.ING -> {

                }

                is State.NO -> {
                    var msg: String = it.msg
                }
            }
        }

复制代码
如果您感觉文章有用的话麻烦点个赞吧.
相关推荐
Dymc1 小时前
【安装JDK和Android SDK】
android·java·jdk·sdk
赛恩斯2 小时前
安卓上的iso 是哪几个gain 相乘
android·人工智能·计算机视觉
深海呐2 小时前
Android Compose 控件基本属性
android
东坡大表哥2 小时前
Android设置边框圆角
android
命运之手3 小时前
【Coroutines】Implement Lua Coroutine by Kotlin - 2
kotlin·coroutine·lua-style
齐适杨3 小时前
Databinding(kotlin)
android·开发语言·kotlin
安卓机器3 小时前
玩机搞机基本常识-----如何在 Android 中实现默认开启某个功能 修改方法列举
android
aaajj3 小时前
【Android】GraphicBuffer和ANativeWindowBuffer
android
ChinaDragonDreamer4 小时前
Kotlin:2.0.0 的新特性
android·开发语言·kotlin