Kotlin基礎(4)-->接口

和Java一樣,任何一個類最多隻能繼承一個父類,但是卻可以實現任意多個接口。

1.簡單使用

首先我們創建一個接口

interface Study {
    fun readBook()
    fun doHomeWork()
}

讓Student類繼承它

class Student(name: String, age: Int) : Person(name, age), Study {
    override fun readBook() {
        println(name + " is reading")
    }

    override fun doHomeWork() {
        println(name + " is doing homeWork")
    }

}

在Java中繼承使用的關鍵字是extends,實現接口是用的是implements,而在Kotlin中統一使用 : 關鍵字,中間用逗號分隔。另外接口的後面不需要加括號,因爲他沒有構造函數可以去調用。

2.額外功能

爲了使用更加靈活,Kotlin增加了一個額外的功能:允許接口中定義的函數進行默認實現。

interface Study {
    fun readBook()
    fun doHomeWork(){
        println("我是默認實現")
    }
}

如果接口中的一個函數擁有了函數體,這個函數體中的內容就是它的默認實現。
我們給doHomeWork增加了函數體,那麼現在當一個類去繼承Study接口時,只會強制要求實現readBook()函數,而doHomeWork則可以自由選擇實現或不實現,不實現時就會使用默認的實現邏輯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章