【2023】Kotlin教程 第二篇 面向对象与函数式编程 第10章 面向对象编程 10.8 数据类 10.8.3 解构数据类
【2023】Kotlin教程 第二篇 面向对象与函数式编程 第10章 面向对象编程 10.8 数据类 10.8.3 解构数据类
·
【2023】Kotlin教程

第二篇 面向对象与函数式编程
第10章 面向对象编程
Kotlin语言目前还是以面向对象编程为主,函数式编程为辅。面向对象是Kotlin是重要的特性之一。
10.8 数据类
有的时候需要一种数据容器在各个组件之间传递。数据容器只需要一些属性保存数据以就可以了,
例如之前我们写的User 类
class User(val name: String, var password: String)
但是这个User作为数据容器还不完善,最好重写Any的如下三个函数:
-
equals。.比较其他对象是否与当前对象“相等”,==运算符重载equals函数。
-
hashCode。返回该对象的哈希码值,可以提高对Hashtable和HashMap对象的访问效率。
-
toString。返回该对象的字符串表示。
【提示】Any是Kotlin所有类的根类,Kotlin中所有类都直接或间接继承自Any类。虽然重写Any的三个函数,也不是很麻烦,但是如果有很多个属性,代码量还是很多的。Kotlin为此提供了一种数据类(Data Classes)。
10.8.3 解构数据类
数据对象是一个数据容器,可以理解为多个相关数据被打包到一个对象中。解构进行相反的操作,是将数据对象拆开将内部的属性取出,赋值给不同的变量。
解构不仅仅适用于数据对象,也适用于集合对象。
举个栗子:
fun main() {
val user1 = User("Tony", "123")
// 解构
val (name1, pwd1) = user1
println(name1)
println(pwd1)
val (name2, _) = user1 // 省略结构password
println(name2)
}

更多推荐



所有评论(0)