在Kotlin中,接口實現(xiàn)可以增強代碼復(fù)用,主要通過以下幾種方式:
interface MyInterface {
fun doSomething()
}
abstract class MyBaseClass : MyInterface {
abstract override fun doSomething() {
// 公共實現(xiàn)代碼
}
}
class MyClass : MyBaseClass() {
// 可以選擇覆蓋或者使用基類的實現(xiàn)
}
interface MyInterface {
fun doSomething()
}
fun MyInterface.doSomethingExtended() {
// 擴展函數(shù)實現(xiàn)代碼
}
class MyClass : MyInterface {
override fun doSomething() {
// 具體實現(xiàn)代碼
}
}
fun main() {
val myClass = MyClass()
myClass.doSomething()
myClass.doSomethingExtended()
}
interface ModuleA {
fun moduleAFunction()
}
interface ModuleB {
fun moduleBFunction()
}
class MyClass : ModuleA, ModuleB {
override fun moduleAFunction() {
// 實現(xiàn)ModuleA的功能
}
override fun moduleBFunction() {
// 實現(xiàn)ModuleB的功能
}
}
interface MyInterface {
fun doSomething()
}
class MyClass(private val delegate: MyInterface) : MyInterface {
override fun doSomething() {
delegate.doSomething() // 委托給另一個對象實現(xiàn)
}
}
class AnotherClass : MyInterface {
override fun doSomething() {
// 具體實現(xiàn)代碼
}
}
fun main() {
val myClass = MyClass(AnotherClass())
myClass.doSomething()
}
通過以上方法,可以在Kotlin中有效地增強接口實現(xiàn)的代碼復(fù)用性。