gpt4 book ai didi

kotlin - 如何使数据类(Kotlin)从父类(super class)扩展并继承父类(super class)字段之一?

转载 作者:行者123 更新时间:2023-12-02 13:05:37 26 4
gpt4 key购买 nike

我尝试为某些数据类创建自定义的toString()方法。但是我只想定义一次toString的替代。

这将是我的 super 类:

abstract class Id(val value: String) {
override fun toString(): String {
return value
}
}

现在,我想通过扩展父类(super class)Id在某些数据类中使用自定义的toString()方法:
data class MyId(val v: String): Id(v)

但是,这将在MyId中引入辅助字段和“v”的 setter/getter ,这不是我想要的。使用“值”而不是“v”给了我一个问题:“值”隐藏了父类(super class)型“Id”的成员。我想重用ID中定义的“值”字段和获取方法。我不想介绍一个新的。

我该如何纠正?

最佳答案

我不太确定您要做什么,但是您可以做到

abstract class Id(open val value: String) {
override fun toString(): String {
return value
}
}

data class MyId(override val value: String): Id(value)

关于kotlin - 如何使数据类(Kotlin)从父类(super class)扩展并继承父类(super class)字段之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56588957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com