Kotlin中的回调是什么?

时间:2019-12-06 12:29:02

标签: kotlin

我正在intelij Idea中学习kotlin,因此我必须进行有关接口的演示。一个主题是回调,在哪里可以找到有关它的信息?还是可以简单地,非常简单地告诉我,那叫什么回电话?

fun main() {
val myphone = Myphone()
myphone.phoneOn()
myphone.onClick()
myphone.onTouch()
myphone.openApp()
myphone.closeApp()
}

interface Application {
    var AppName: String

    fun openApp()

    fun closeApp() {
        println("$AppName App is closed!")
    }
}

interface Button {
    var helloMessage: String

    fun phoneOn()

    fun onClick()

    fun onTouch() {
        println("The screen was touched!")
    }
}


class Myphone: Button, Application {
    override var AppName: String = "Facebook"

    override fun openApp() {
        println("$AppName Is Open!")
    }
    override var helloMessage: String = "Hello"

    override fun onClick() {
        println("The screen was clicked!")
    }

    override fun phoneOn() {
        println("$helloMessage !")
    }
 }

2 个答案:

答案 0 :(得分:0)

回调不仅与Kotlin有关,它是非常普遍的编程技术,主要用于异步编程。最简单的解释是一旦发生异步事件,该函数将被回调(因此得名)。

Button的onClick函数就是一个很好的例子,我们有一些逻辑需要执行,但是我们希望它仅在单击按钮时才运行,因此我们提供了在单击该按钮时将调用的回调。

答案 1 :(得分:0)

非常简单:回调表示函数,该函数在另一个函数完成或某些特定事件发生时执行。

fun execute() {
    // Some logic 
    executeAnotherOnFinish();
}

OR

// filter executes only after array converted to list
myIntArray.toList().filter { it > 0 }

OR

myListener.notify()

// Listener class methid
notify() {
    // Do some work
    executeCallback()
}