1

我一直在摆弄 Kotlin data classes,我在想是否有可能增加一些类(例如包含的功能copy)以增加所有data classes?

有可能增加data classes 吗?

4

2 回答 2

5

Kotlin 的数据类不继承自任何类(除了Any/java.lang.Object在 JVM 上)。据我所知,没有办法copy为所有数据类全局修改 eg 的行为。

用于复制、解构等的方法是为每个数据类单独生成的。(见文档

于 2017-08-10T15:52:13.340 回答
2

例如,您无法更改 Kotlin 编译器为数据类生成字节码的方式,因此您无法更改copy-function 的工作方式。然而,自最近一次更新以来,您可以做的是让您的数据类继承自其他类,因此您可以创建一个抽象基类,用于所有数据类以赋予它们额外的功能。

于 2017-08-11T12:17:30.753 回答