访问方法作为子类

时间:2019-03-06 12:57:36

标签: kotlin

比方说,我创建了一个从另一个类扩展的类,并且我想覆盖其中一个父函数,但是我希望此函数从外部是私有的(例如Java中的保护)。 我尝试使用protected,因为它说here,但是它不起作用。 Kotlin有可能吗?

open class YesNoDialog(context: Context, styleRes: Int) : Dialog(context, styleRes) {


protected fun setTexts() {

}

}

class MultiSelectDialog(context: Context, styleRes: Int):YesNoDialog(context, styleRes) {

}

在此示例中,我想从MultiSelectDialog类访问setTexts

1 个答案:

答案 0 :(得分:2)

可以使用protected完成操作,但是您还需要添加open使其被覆盖:

open class YesNoDialog(context: Context, styleRes: Int) : Dialog(context, styleRes) {
    protected open fun setTexts() {

    }
}

class MultiSelectDialog(context: Context, styleRes: Int) : YesNoDialog(context, styleRes) {
    override fun setTexts() {

    }
}