gpt4 book ai didi

kotlin - 接口(interface)作为 Kotlin 中类的依赖项是什么意思?

转载 作者:行者123 更新时间:2023-12-02 13:07:35 25 4
gpt4 key购买 nike

interface SomeInterface {
fun someFunction()
}

class SomeClass(private val someInterface: SomeInterface) {

}

这是什么意思?据我所知,接口(interface)无法实例化对象,如果可以,我应该在哪里实现 someFunction() ?

最佳答案

你是正确的,你不能实例化 SomeInterface直接,但您可以将接口(interface)的实现传递给 SomeClass .这边SomeClass可以使用someFunction()但不关心接口(interface)的低级实现细节(又名多态)。

interface SomeInterface {
fun someFunction()
}

class SomeClass(private val someInterface: SomeInterface) {
fun doSomething() = someInterface.someFunction()
}

class SomeImplementation(): SomeInterface {
override fun someFunction() {
println("did something")
}
}

fun main() {
val someClass = SomeClass(SomeImplementation())
someClass.doSomething()
}

关于kotlin - 接口(interface)作为 Kotlin 中类的依赖项是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61681770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com