본문 바로가기

Kotlin

#8.9 Kotlin INTERFACE example. Kotlin object-oriented programming for beginners

fun main(args: Array<String>){
    var myBtn = MyButton()
    myBtn.onTouch()
    myBtn.onClick()
}

interface MyInterFaceListener{ // you cannot create instance of interface
    var name: String // Properties in interface are abstract by default
    fun onTouch()
    fun onClick(){ // Normal methods are public and open by default Not Final
        println("Button was clicked by interface")
    }
}

class MyButton: MyInterFaceListener {
    // Body
    override var name: String = "dummy_name"
    override fun onTouch() {
        println("Button was touched")
    }

    override fun onClick() { // Optional to override
        super.onClick()
        println("Button was clicked")
    }
}

 

fun main(args: Array<String>){
    var myBtn = MyButton()
    myBtn.onTouch()
    myBtn.onClick()
}

interface MyInterFaceListener{ // you cannot create instance of interface
    fun onTouch()
    fun onClick(){ // Normal methods are public and open by default Not Final
        println("Button was clicked by interface")
    }
}

interface MySecondInterFace{ // you cannot create instance of interface
    fun onTouch() {
        println("onTouch by mySecondInterface")
    }
    fun onClick(){ // Normal methods are public and open by default Not Final
        println("Button was clicked by interface")
    }
}

class MyButton: MyInterFaceListener, MySecondInterFace {
    override fun onTouch() {
        super<MyInterFaceListener>.onClick()
        super<MySecondInterFace>.onClick()
    }

    override fun onClick() {
        super.onTouch()
    }

}

 

youtu.be/jea0OEGHi38