代碼舉例Companion Object 实现接口和继承
时间: 2024-03-14 21:47:01 浏览: 169
Kotlin实现页面互相跳转和互相传值源代码
下是一个 `Companion Object` 实现接口和继承的示例代码:
```kotlin
interface MyInterface {
fun myFunction()
}
open class MyClass {
open fun myFunction() {
println("MyClass.myFunction")
}
}
class MyChildClass {
companion object : MyInterface, MyClass() {
override fun myFunction() {
println("MyChildClass.myFunction")
}
}
}
fun main() {
val obj = MyChildClass
obj.myFunction() // 输出: MyChildClass.myFunction
}
```
在这个示例中,`MyChildClass` 继承了 `MyClass` 并实现了 `MyInterface` 接口。在 `Companion Object` 中重写了 `myFunction` 方法,从而实现了多态。在 `main` 函数中,我们可以直接通过 `MyChildClass` 访问 `myFunction` 方法。
阅读全文