【发布时间】:2021-09-28 04:32:54
【问题描述】:
android 项目有多个模块。模块 A 在 kotlin 中有一些基类
package xxx.module_a
open class InModule_A {
protected function action() {...}
}
class Runner() {
fun doSomething() {
InModule_A().action(). // it is NOT compile, but if the action() is internal it is ok since they are in same module
}
}
模块A中的Runner类需要访问InModule_A()类成员函数action()。
并且InModule_A.action() 应该只在module A 内可见,并且在其他模块的派生类中被覆盖。
在module B 中,它具有派生自InModule_A 的类InModule_B。
package xxx.module_b
class InModule_B {
protected override function action() {// if InModule_A().action() were a internal it would not be able to override here
super.action()
... ...
}
}
如何使函数具有内部可见性并能够在派生类中覆盖?
【问题讨论】:
标签: kotlin derived-class