Kotlin 数据类的 getter 重写
数据类是 Kotlin 中用于存储数据的集合。从逻辑上讲,这与创建 Java POJO 类相同。在 Java 中,我们会创建额外的成员函数来设置和获取成员变量中的数据。在 Kotlin 中,我们不需要创建单独的方法来访问类的成员变量。Kotlin 默认提供此功能。我们只需使用其中的成员变量名称即可访问变量。
不建议像在 Java 中那样重写任何数据类成员。
如果您想在运行时重写任何类成员,始终建议使用普通类。
作为程序员,我们需要记住,数据类用于保存数据,而不是在运行时修改数据。
Kotlin 数据类减少了样板代码,并自动提供常见的函数,例如**getter、setter、toString、equals**等。在本文中,我们将了解如何重写用于获取数据的普通类函数。
Kotlin 中的重写函数
在这个例子中,我们将看到如何在数据类中重写整型变量的值,当该值是负数时。
我们有一个数据类**"myClass"**,以及一个数据成员**"myValue"**。我们将使用函数**getValue()**重写该值。
示例
fun main() { println(myClass(5).getValue()) // will print 5 // it won't be printing -5 // instead we will get 0 as per our logic println(myClass(-5).getValue()) } data class myClass(private val myValue: Int) { // overriding the value fun getValue(): Int = if (myValue < 0) 0 else myValue }
输出
执行代码后,将产生以下输出:
5 0
广告