- Kotlin 教程
- Kotlin - 主页
- Kotlin - 概述
- Kotlin - 环境设置
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 评论
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流程
- Kotlin - 控制流
- Kotlin - if...Else 表达式
- Kotlin - When 表达式
- Kotlin - For 循环
- Kotlin - While 循环
- Kotlin - 中断并继续
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集
- Kotlin - 地图
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用的资源
- Kotlin - 讨论
Kotlin - 密封类
在本章中,我们将了解另一种类类型,称为“密封”类。这种类型的类用于表示受限的类层次结构。Sealed 允许开发人员维护预定义类型的数据类型。要创建密封类,我们需要使用关键字“sealed”作为该类的修饰符。密封类可以有自己的子类,但所有这些子类都需要与密封类一起在同一个 Kotlin 文件中声明。在下面的示例中,我们将看到如何使用密封类。
sealed class MyExample { class OP1 : MyExample() // MyExmaple class can be of two types only class OP2 : MyExample() } fun main(args: Array<String>) { val obj: MyExample = MyExample.OP2() val output = when (obj) { // defining the object of the class depending on the inuputs is MyExample.OP1 -> "Option One has been chosen" is MyExample.OP2 -> "option Two has been chosen" } println(output) }
在上面的示例中,我们有一个名为“MyExample”的密封类,它只能有两种类型 - 一种是“OP1”,另一种是“OP2”。在主类中,我们在类中创建一个对象并在运行时分配其类型。现在,随着“MyExample”类被密封,我们可以在运行时应用“when”子句来实现最终输出。
在密封类中,我们不需要使用任何不必要的“else”语句来复杂化代码。上面的代码将在浏览器中产生以下输出。
option Two has been chosen