interface - 带有接口(interface)样板的 Kotlin 数据类

标签 interface kotlin boilerplate data-class

Kotlin 中的数据类非常适合消除 Java pojo 的大部分样板;但是当一个数据类镜像一个接口(interface)时,这两个声明仍然显得多余。举个例子。

interface MyInterface {
    val foo: String
    val bar: String
    val baz: String
    val qux: String
}

data class MyImplementation(
    override val foo: String,
    override val bar: String,
    override val baz: String,
    override val qux: String
) : MyInterface

是否有任何简写来消除这种代码重复,即告诉 Kotlin 接口(interface)中的每个 val 都应该由数据类中相同的 val 实现?

最佳答案

默认情况下,接口(interface)中的所有属性都是抽象的,因此它们必须由继承者实现(声明)。根据this links , 这个功能在 2015 年没有计划,现在看起来还没有实现。

关于interface - 带有接口(interface)样板的 Kotlin 数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51488537/

相关文章:

c# - INeedSomething 的更好名字...?

node.js - TypeScript:作为其他接口(interface)联合的通用接口(interface)

java - 无界Java通用接口(interface)的问题

android - 如何延迟为 kotlin 中的 val 赋值?

android - Jetpack Compose 中 BasicTextField 的焦点有多清晰?

Java 从 DAO 中删除重复的 try、catch、finally 样板文件

Android 小部件样板?

css 2 列将文本 float 到两者的底部,允许一列扩展到文本中

java - 当接口(interface)完全抽象时,为什么说接口(interface)支持多重继承?

kotlin - 在Kotlin中,如何获取数组的前n个元素