当前位置: 首页 > news >正文

北京协会网站建设百度定位店铺位置怎么设置

北京协会网站建设,百度定位店铺位置怎么设置,东莞人才市场官网,那里可以做PC28网站的Kotlin中的密封类: kotlin中的密封类,用关键词Sealed修饰,且还有一个规定:Sealed类的子类应该是Sealed类的嵌套类,或者应该在与Sealed类相同的文件中声明。 当我们想定义一个有相同父类,但是有不同子类的时候&#xf…

Kotlin中的密封类:

kotlin中的密封类,用关键词Sealed修饰,且还有一个规定:Sealed类的子类应该是Sealed类的嵌套类,或者应该在与Sealed类相同的文件中声明。
当我们想定义一个有相同父类,但是有不同子类的时候,我们可以用枚举,抽象类,密封类来表示。
下面一一讲解它们之间的区别。

1. 枚举

enum class Result(val data: String) {SUCCESS("Success"),ERROR("Error")
}

但是如果我们ERROR中想定义一个Exception,那么枚举类是不允许的。

enum class Result(val message: String) {SUCCESS("Success"),ERROR(val exception: Exception) // 错误的写法
}

说到底,枚举它不能很好的扩展子类的状态

2. 密封类

sealed class Result
data class Success(val msg: String) : Result()
data class Error(val errorCode: Int, val exception: Exception) : Result()
object Other : Result()

可以看到,密封类的好处是,它的子类可以是普通类,data class, object等,而且子类可以自由扩展属性状态
另外,密封类的另外一个好处是,当我们用when的时候,不用再加else 判断了

 when (val result: Result = Success("success")) {is Success -> {Log.d("TAG", result.msg)}is Error -> {Log.d("TAG", "$result.errorCode")}is Other -> {Log.d("TAG", "Other")}}

3. 抽象类

我们将Result改成抽象类

abstract class Result
data class Success(val msg: String) : Result()
data class Error(val errorCode: Int, val exception: Exception) : Result()
object Other : Result()

在when中使用的时候,编译器会提示我们要加else分支。但是在密封类中,就不会存在这个问题,因为编译器知道密封类所有的子类,但是抽象类不一样了,因为我们可以在任意地方来继承实现子类,子类可能是很多的,所以需要加上else分支。
在这里插入图片描述

http://www.yidumall.com/news/91703.html

相关文章:

  • 网站制作用什么编程seo实战培训学校
  • 常德百度推广搜索引擎优化什么意思
  • 做国际物流需要哪些网站南京 seo 价格
  • 建设银行苏州官网招聘网站培训课程表
  • 微搭低代码平台网站seo优化免费
  • 广昌网站建设制作如何做推广呢
  • 网站所有二级目录网站推广app下载
  • 企业网站建设 租用服务器网络营销与直播电商好就业吗
  • 网站建设方案设计网站排名提高
  • wordpress 外贸郑州纯手工seo
  • 建一个网页网站seo公司上海牛巨微
  • 注册域名怎么做网站上海十大营销策划公司排名
  • 牛商网网站后台郑州网站策划
  • 怎样制作微信网站广州网站优化
  • 网站怎么做微博认证互联网营销软件
  • 张店免费做网站百度购物平台客服电话
  • 手机网站菜单栏怎么做阿里云域名注册
  • 网站发展趋势班级优化大师学生版
  • 上海城乡住房建设厅网站东莞网站制作外包
  • 哈尔滨的网站建设公司微信营销系统
  • 无锡大型网站建设公司志鸿优化设计官网
  • 医院网站系统源码网站seo推广计划
  • 网站建设实训致谢语调研报告万能模板
  • 做三个月网站广告收入网站代运营推广
  • 合肥网站制作方案私域流量和裂变营销
  • php靓号网站源码厦门seo关键词优化
  • 网店设计思路怎么写余姚seo智能优化
  • 泸州大浪科技做网站合肥网站推广助理
  • wordpress访问统计西安搜索引擎优化
  • 深圳app开发公司排名前十windows系统优化软件