【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q
在 Kotlin 程式語言中,使用關鍵字「interface」來定義介面。在介面中,每個函數預設都是開放的,不需要額外使用「open」關鍵字來宣告。但是,如果你要實作介面中的屬性與函數,就需要使用「override」關鍵字。
介面只定義了方法的名稱、參數和返回值,沒有方法的具體實現。與之不同的是抽象類別,它有抽象方法(即沒有具體實現的方法),同時也可以包含有實現的方法。
使用 interface
關鍵字建立介面,後面接著定義介面的名稱,大括號內,約定若要實作這個介面,需履約實作哪些方法。
interface PersonInterface {
fun showName()
}
若要實作「PersonInterface」介面,需遵守介面規定的「showName」方法。若沒有遵守實作介面內的方法,編譯會顯示錯誤。
class Account : PersonInterface {
override fun showName() {
println("name: HKT")
}
}
使用時的範例:
fun main() {
//實體化
val account = Account()
account.showName()
}
輸出結果
name: HKT
在 Android 應用中,介面常被運用於實作 Callback 機制。舉例來說,常見的按鈕點擊事件、adapter 列表項目元件監聽到被點擊事件,都採用了介面的概念。
以下是按鈕點擊事件和列表項目點擊事件的介面實作:
public interface OnClickListener {
void onClick(View v);
}
interface IItemClickListener {
fun onItemClickListener(data: Feature)
}
override
來實作介面中的方法。abstract
關鍵字來定義抽象方法。