【发布时间】:2018-03-28 16:35:49
【问题描述】:
如何更好地将 lambda 函数传递给用作父类的类:将其作为参数传递或在父类中将其定义为抽象 lambda,然后在子类中覆盖它?
将其作为参数传递:
open class Weapon(val someFunction: () -> Unit) {
...
}
class TheWeapon() : Weapon({ ... }) {
...
}
或者定义它以在父类中将其定义为抽象 lambda,然后在子类中覆盖它:
abstract class Weapon() {
abstract val someFunction: () -> Unit;
...
}
class TheWeapon() : Weapon() {
override val someFunction: () -> Unit = { ... }
...
}
那么用什么方案比较好呢?
【问题讨论】:
-
你能把
()->Unit传递给方法吗?
标签: lambda kotlin readability