Kotlin multiplatform expect/actual class , 一些方法分享
Kotlin multiplatform expect/actual class , some methods shared
是否可以在 KMM 中有一些 expect + abstract class?
项目是Android+iOS
我想共享一些 class,但部分方法应该是特定于平台的。
最好的方法是什么?也许是预期 class 的某种组合,实际 class 的共享父级?
示例,
expect class Logger {
protected timer:Long = 0
fun info(s:String)
fun warning(s:String)
fun resetTimer() {
timer = 0
}
}
据我所知,这样的例子是不可能的,因为预期 class 应该是接口而不是抽象 class。
两个平台的 resetTimer 方法可以相同。
有可能吗?
简短的回答是否定的。
您可以将 expect/actual 视为对特定平台的抽象,类似于接口,但灵活性要低得多(接口是对任何事物的抽象,而不仅仅是特定于平台的实现)
有多种选择,但无论如何您都需要将公共逻辑与预期声明分开。
是否可以在 KMM 中有一些 expect + abstract class? 项目是Android+iOS
我想共享一些 class,但部分方法应该是特定于平台的。
最好的方法是什么?也许是预期 class 的某种组合,实际 class 的共享父级?
示例,
expect class Logger {
protected timer:Long = 0
fun info(s:String)
fun warning(s:String)
fun resetTimer() {
timer = 0
}
}
据我所知,这样的例子是不可能的,因为预期 class 应该是接口而不是抽象 class。
两个平台的 resetTimer 方法可以相同。
有可能吗?
简短的回答是否定的。
您可以将 expect/actual 视为对特定平台的抽象,类似于接口,但灵活性要低得多(接口是对任何事物的抽象,而不仅仅是特定于平台的实现)
有多种选择,但无论如何您都需要将公共逻辑与预期声明分开。