Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Kotlin中重写内部类?_Kotlin_Inheritance - Fatal编程技术网

如何在Kotlin中重写内部类?

如何在Kotlin中重写内部类?,kotlin,inheritance,Kotlin,Inheritance,我用抽象类中的抽象方法创建了一个抽象内部类 abstract class Qqq{ abstract fun funQqq() inner abstract class InQqq{ abstract fun funInQqq (s:String) } } 当我继承这个类时,我不知道如何重写内部类及其方法 class testPhrase:Qqq(){ override fun funQqq() { TODO("No

我用抽象类中的抽象方法创建了一个抽象内部类

abstract class Qqq{
    abstract fun funQqq()

    inner abstract class InQqq{
        abstract fun funInQqq (s:String)
    }
}
当我继承这个类时,我不知道如何
重写内部类及其方法

class testPhrase:Qqq(){

    override fun funQqq() {
        TODO("Not yet implemented")
    }

    override class inQqq{
       //??
    }
}
我将类方法划分为逻辑部分

我想得到这样的方法:

val qqqHeir = Qqq()
qqqHeir.inQqq.funInQqq("S")
我理解这是关于在类中使用instan的,但不知道如何实现它。
提前谢谢

不能重写内部类,但可以对其进行扩展

class testPhrase: Qqq(){

    override fun funQqq() {
        TODO("Not yet implemented")
    }

    inner class MyInQqq: InQqq(){
        override fun funInQqq(s: String) {
            TODO("Not yet implemented")
        }
    }

}

我感兴趣的是到底是什么驱使你产生这个想法:)为什么内部类需要?我想创建短语生成器。短语可以是肯定的、否定的和疑问句。每种类型都必须是过去时态、将来时态和现在时态。所以我可以用这种方式调用方法
phrase.future.getQestionPhrase()
为什么不更倾向于“组合重于继承”字段呢?通过这种方式,您可以注入一个“用例”(可以随意命名),用于解析您试图为您“生成”的短语部分?