【发布时间】:2018-03-13 10:26:48
【问题描述】:
我对 Kotlin 很陌生。
我希望能够向我的抽象类添加一个函数,因此当我定义该函数时,我将能够在该类的每个孩子上调用它(它们继承抽象类)
但是,我想在其他文件中定义这些扩展函数。 当我尝试在抽象类的特定子实现上调用这些函数时,我无法访问它们。
我需要制定哪些规则来解决我的问题?
我希望能够实现这样的目标:
abstract class Parent(val val1, val val2, val val3){}
class Child(var val1, var val2, var val3) : Parent(val1, val2, val3){}
class Child2(var val1, var val2, var val3) : Parent(val1, val2, val3){}
父母和所有孩子的扩展方法:
fun Parent.convertToChild2( ): Child2? {
return //some creation method of Child2
}
我希望能够调用它:
child: Child
child.convertToChild2
我在单独的文件中定义了所有类,还在其他文件中定义了扩展函数。
我无法访问这样的功能 - 不可见。
【问题讨论】: