在 Kotlin 中扩展数据类
数据类是保存应用程序数据的类。它就像我们在 Java 中用来保存数据的 POJO 类。
在 Java 中,对于数据类,我们需要创建getter和setter方法来访问该类的属性。在 Kotlin 中,当一个类被声明为数据类时,编译器会自动创建一些访问该类成员变量所需的支持方法。编译器将为构造函数参数创建getter和setter , hashCode(), equals(), toString(), copy()。
对于在 Kotlin 中被视为数据类的类,需要满足以下条件 -
主构造函数至少需要一个参数。
所有主要的构造函数参数都需要标记为val或var。
数据类不能是抽象的、开放的、密封的或内部的。
我们不能扩展数据类,但为了实现相同的功能,我们可以声明一个超类并覆盖子类中的属性。
示例
在下面的示例中,我们将创建两个数据类“Student”和“Book”。我们还将创建一个抽象类“资源”。在“Book”中,我们将覆盖“Resource”类的属性。
data class Student(val name: String, val age: Int)输出结果fun main(args: Array) {
val stu = Student("Student1", 29)
val stu2 = Student("Student2", 30)
println("Student1 Name is: ${stu.name}")
println("Student1 Age is: ${stu.age}")
println("Student2 Name is: ${stu2.name}")
println("Student2 Age is: ${stu2.age}")
val b=Book(1L,"India","123222") //实现抽象类
println(b.location)
}
//声明超类
abstract class Resource {
abstract var id: Long
abstract var location: String
}
//覆盖资源类的属性
data class Book (
override var id: Long = 0,
override var location: String = "",
var isbn: String
) : Resource()
它将生成以下输出 -
Student1 Name is: Student1Student1 Age is: 29
Student2 Name is: Student2
Student2 Age is: 30
India
以上是 在 Kotlin 中扩展数据类 的全部内容, 来源链接: utcz.com/z/297069.html