0

是否有可能在 KMM 中有一些期望 + 抽象类?项目为安卓+iOS

我想要一些共享类,但部分方法应该是特定于平台的。

做这个的最好方式是什么?也许是预期班级的某种组合,实际班级的共享父级?

例子,

expect class Logger {
    protected timer:Long = 0
    fun info(s:String)
    fun warning(s:String)
    fun resetTimer() {
         timer = 0
    }
}

据我了解,这样的例子是不可能的,因为预期的类应该是接口而不是抽象类。

两个平台的方法 resetTimer 可能相同。

有可能吗?

4

1 回答 1

1

简短的回答是否定的。

您可以将期望/实际视为对特定平台的抽象,类似于接口,但灵活性要差得多(接口是对任何事物的抽象,而不仅仅是特定于平台的实现)

有多种选择,但无论如何您都需要将通用逻辑与预期声明分开。

于 2021-09-27T11:57:58.920 回答