Tag: 多重inheritance

任何方式在Kotlin中从相同的通用接口inheritance两次(使用单独的types)?

我在我的代码中有一个场景,我想要一个类实现两个不同types的接口,如下面的示例: interface Speaker { fun talk(value: T) } class Multilinguist : Speaker, Speaker { override fun talk(value: String) { println(“greetings”) } override fun talk(value: Float) { // Do something fun like transmit it along a serial port } } 科特林对此并不满意,理由是: Type parameter T of ‘Speaker’ has inconsistent values: kotlin.String, kotlin.Float A supertype appears twice 我知道一个可能的解决方案是实现下面的代码,在那里我用实现接口,然后检查自己的types并将它们委托给它们的函数。 […]