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

更新于:2022年3月1日

3K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告