gpt4 book ai didi

Kotlin:使用 getter 实现接口(interface)的问题

转载 作者:行者123 更新时间:2023-12-04 17:30:30 26 4
gpt4 key购买 nike

我正在尝试使用与实现类的构造函数参数名称匹配的 getter 方法来实现接口(interface)。

interface Car{
fun getModel(): Int
}

class Honda(val model: Int): Car {
override fun getModel(): Int {

}
}

如果 Honda未实现 getModel() ,我们得到一个 Accidental Override错误。如果 Honda实现 getModel() , 我们得到一个 Platform declaration clash错误。

我可以更改 Honda 中的参数名称构造函数,它解决了问题,但感觉就像一个多余的 getter 方法。
interface Car{
fun getModel(): Int
}

class Honda(val modelParam: Int): Car {
override fun getModel() = modelParam
}

有没有更好的方法来实现这样的接口(interface)?

最佳答案

您可以申报properties in interface :

interface Car{
val model : Int
}

然后在实现/构造函数中你需要添加 override关键词。
class Honda(override val model : Int): Car

关于Kotlin:使用 getter 实现接口(interface)的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50866019/

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