android - 在 Kotlin 中使用常量填充基类成员
问题描述
如果我正在创建一个子类,我如何使用常量来填充基类中的成员而不通过构造函数传递。创建 B 的实例时,调用者永远不需要知道使用的 id,它可以是 B 类定义的一部分。这是我目前正在做的事情,无意在实例化 B 类时实际传递一个 id。
abstract class A (_id: Int) {
val id = _id
}
class B (id: Int = 99, otherParam: String): A(id) {
val otherParam = _otherParam
}
解决方案
您可以只使用常量:
class B (_otherParam: String): A(99) {
val otherParam = _otherParam
}
此外,您A
可以简单地:
abstract class A (val id: Int)
您不需要构造函数参数。
同样适用于B
:
class B (otherParam: String): A(99)