美文网首页
Kotlin笔记(26) — 特殊类之密封类

Kotlin笔记(26) — 特殊类之密封类

作者: 奔跑的佩恩 | 来源:发表于2020-08-17 09:13 被阅读0次

前言

在上一节,我们讲到了kotlin枚举类相关知识。这节我们来了解下密封类的相关知识。

今天涉及的知识有:

  1. 为什么要使用密封类
  2. 密封类简介
  3. 密封类的使用

一. 为什么要使用密封类

当我们在使用枚举类做判断的时候,为了代码逻辑的完整性,我们会做类似如下的处理:

            var status:Int=0
            tv_test.text=when(status){
                Game.START.status-> "我们要开始游戏了"
                Game.RUN.status-> "游戏号激烈啊"
                Game.END.status-> "哎,这么快就完了"
                else -> "未知状态"
            }

这里,我们会发现其实枚举类Game就包含STARTRUN,END三个枚举,而以上代码中的else分支基本不会执行。但是你有必须得写,为了避免这种无效代码,就可以使用密封类

二.密封类简介

密封类的声明是用关键字sealed,然后之前讲过的几个枚举要写成此封装类的嵌套类样式,且结尾要继承当前外部类。
以枚举类Game为例:

enum class Game (var status:Int,var description: String){

    START(100,"游戏开始"), //游戏开始
    RUN(200,"游戏进行中"),   //游戏进行中
    END(400,"游戏结束")   //游戏结束
}

将其改写为封装类后,是这样的:

相关文章

  • Kotlin笔记(26) — 特殊类之密封类

    前言 在上一节,我们讲到了kotlin的枚举类相关知识。这节我们来了解下密封类的相关知识。 今天涉及的知识有: 为...

  • Kotlin学习之密封类

    Kotlin学习之密封类 密封类是Kotlin中的一个高级类,有如下特点: 密封类是为继承设计的,是一个抽象类; ...

  • kotlin sealed密封类

    kotlin中sealed关键字修饰的类就是密封类。密封类其实是一种特殊的抽象类,专门用于派生子类的。 密封类的特...

  • Android MVI 设计模式(3)

    我们用 kotlin 的 sealed 类密封一些数据类,kotlin 提供的密封类类似于枚举,密封类用于定义一种...

  • 33. 密封类

    密封类是 kotlin 中比较特殊的类,用来表示受限的类继承结构。它的值为有限集内的类型,不能有任何其他类型。密封...

  • Kotlin学历之特殊类

    简述 本次将对Kotlin中的特殊类:数据类,密封类以及伴生对象做深入的学习研究,总结优点。 数据类 通过java...

  • Kotlin 密封类 Sealed的总结

    概念sealed修饰的类 在kotlin中是密封类 密封类 描述的是 父类和子类的关系1、密封类和它的子类必须定义...

  • Kotlin密封类

    什么是密封类 密封类用来表示受限的类继承结构:当一个值为有限集中的类型、而不能有任何其他类型时。 以上是官网介绍;...

  • Kotlin笔记(28) — 特殊类之模板类

    前言 在上一节我们已经讲过了数据类的使用。那么在android开发过程中,还会遇到泛型类的问题,即是在一个类中的某...

  • Kotlin笔记(27) — 特殊类之数据类

    前言 在android开发过程中,我们经常会使用到一些数据实体类,比如用户信息,商品信息等。在用java开发的时候...

网友评论

      本文标题:Kotlin笔记(26) — 特殊类之密封类

      本文链接:https://www.haomeiwen.com/subject/onyfdktx.html