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

北京建筑设计网站网络推广的好处

北京建筑设计网站,网络推广的好处,深圳罗湖做网站公司哪家好,怎么区分营销型网站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.hyszgw.com/news/26440.html

相关文章:

  • dz采集wordpress厦门seo俱乐部
  • 个人求职网站怎么做baidu 百度一下
  • 如何做京东购物网站网络营销与直播电商专业
  • 30个做设计的网站百度客户服务电话是多少
  • 深圳有做网站最近价格新闻稿件代发平台
  • 做网站定金是多少产品关键词的搜索渠道
  • 国内ui网站徐州seo建站
  • 北京大学php培训网站源码(dede农村电商平台有哪些
  • wordpress分类文章置顶枫林seo工具
  • 对网站排名没有太大影响的因素全网品牌推广
  • 从零学建设网站济南网络优化哪家专业
  • 网站推广需要域名迁移北京seo关键词优化收费
  • 做国外网站衣服码数要怎么写百度关键词推广一年多少钱
  • 门户型网站开发难度网络视频营销的案例
  • 可以做审计初级题的网站郑州网站推广哪家专业
  • 贵阳网站开发公司今日特大新闻新事
  • 网站建设备案方案谷歌浏览器安卓版下载
  • 做网站看百度排行榜风云榜
  • 校内 实训网站 建设方案企业网络营销的模式有哪些
  • 顺德网站建设市场免费收录网站推广
  • 网站建设收获建站模板哪个好
  • h5响应式网站开发百度网盘客服电话24小时
  • 成都网站成都网站制作公司今日热点新闻10条
  • 金鹏建设集团网站东莞seo关键词
  • 专业教育网站建设企业网站seo托管怎么做
  • 网站的空间什么意思如何进行品牌宣传与推广
  • 什么做网站站群网络销售挣钱吗
  • 英语机构网站建设方案长春seo招聘
  • 网站收款即时到账怎么做的友情链接有哪些作用
  • 网站开发费用无形资产深圳网站优化公司哪家好