《Kotlin核心编程》 ——3.4.4 数据类的约定与使用

举报
华章计算机 发表于 2020/02/21 23:06:54 2020/02/21
【摘要】 本节书摘来自华章计算机《Kotlin核心编程》 —— 书中第3章,第3.4.4节,作者是水滴技术团队 。

3.4.4 数据类的约定与使用

前面主要讲解了Kotlin中数据类的创造意图,接下来我们来看看如何设计一个数据类,并且合理地使用它。

如果你要在Kotlin声明一个数据类,必须满足以下几点条件:

数据类必须拥有一个构造方法,该方法至少包含一个参数,一个没有数据的数据类是没有任何用处的;

与普通的类不同,数据类构造方法的参数强制使用var或者val进行声明;

data class之前不能用abstract、open、sealed或者inner进行修饰;

在Kotlin1.1版本前数据类只允许实现接口,之后的版本既可以实现接口也可以继承类。

数据类在语法上是如此简洁,以至于它可以像Map一样,作为数据结构被广泛运用到业务中。然而,数据类显然更灵活,因为它像一个普通类一样,可以把不同类型的值封装在一处。我们把数据类和when表达式结合在一起,就可以提供更强大的业务组织和表达能力。我们会在下一章重点介绍它的高级应用。

数据类的另一个典型的应用就是代替我们在Java中的建造者模式。正如你所知,建造者模式主要化解Java中书写一大串参数的构造方法来初始化对象的场景。然而由于Kotlin中的类构造方法可以指定默认值,你可以想象,依靠数据类的简洁语法,我们就可以更方便地解决这个问题。同样,当前并不会介绍其具体的使用,我们会在第9章来深入讨论这种方案。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。