
- Kotlin 教程
- Kotlin - 首頁
- Kotlin - 概述
- Kotlin - 環境設定
- Kotlin - 架構
- Kotlin - 基本語法
- Kotlin - 註釋
- Kotlin - 關鍵字
- Kotlin - 變數
- Kotlin - 資料型別
- Kotlin - 運算子
- Kotlin - 布林值
- Kotlin - 字串
- Kotlin - 陣列
- Kotlin - 範圍
- Kotlin - 函式
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...else 表示式
- Kotlin - when 表示式
- Kotlin - for 迴圈
- Kotlin - while 迴圈
- Kotlin - break 和 continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 對映
- Kotlin 物件和類
- Kotlin - 類和物件
- Kotlin - 建構函式
- Kotlin - 繼承
- Kotlin - 抽象類
- Kotlin - 介面
- Kotlin - 可見性控制
- Kotlin - 擴充套件
- Kotlin - 資料類
- Kotlin - 密封類
- Kotlin - 泛型
- Kotlin - 委託
- Kotlin - 解構宣告
- Kotlin - 異常處理
- Kotlin 有用資源
- Kotlin - 快速指南
- Kotlin - 有用資源
- Kotlin - 討論
Kotlin - 介面
本章我們將學習 Kotlin 中的介面。在 Kotlin 中,介面的工作方式與 Java 8 完全相同,這意味著它們既可以包含方法實現,也可以包含抽象方法宣告。類可以實現介面以使用其定義的功能。我們在第 6 章 - “匿名內部類”一節中已經介紹了一個介面示例。本章我們將對此進行更深入的學習。“interface”關鍵字用於在 Kotlin 中定義介面,如下面的程式碼片段所示。
interface ExampleInterface { var myVar: String // abstract property fun absMethod() // abstract method fun sayHello() = "Hello there" // method with default implementation }
在上面的示例中,我們建立了一個名為“ExampleInterface”的介面,其中包含一些抽象屬性和方法。請注意名為“sayHello()”的函式,它是一個已實現的方法。
在下面的示例中,我們將把上面的介面實現到一個類中。
線上演示interface ExampleInterface { var myVar: Int // abstract property fun absMethod():String // abstract method fun hello() { println("Hello there, Welcome to TutorialsPoint.Com!") } } class InterfaceImp : ExampleInterface { override var myVar: Int = 25 override fun absMethod() = "Happy Learning " } fun main(args: Array<String>) { val obj = InterfaceImp() println("My Variable Value is = ${obj.myVar}") print("Calling hello(): ") obj.hello() print("Message from the Website-- ") println(obj.absMethod()) }
上面的程式碼將在瀏覽器中產生以下輸出。
My Variable Value is = 25 Calling hello(): Hello there, Welcome to TutorialsPoint.Com! Message from the Website-- Happy Learning
如前所述,Kotlin 不支援多重繼承,但是可以透過同時實現多個介面來實現相同的效果。
在下面的示例中,我們將建立兩個介面,然後將這兩個介面實現到一個類中。
線上演示interface A { fun printMe() { println(" method of interface A") } } interface B { fun printMeToo() { println("I am another Method from interface B") } } // implements two interfaces A and B class multipleInterfaceExample: A, B fun main(args: Array<String>) { val obj = multipleInterfaceExample() obj.printMe() obj.printMeToo() }
在上面的示例中,我們建立了兩個示例介面 A 和 B,並在名為“multipleInterfaceExample”的類中實現了前面宣告的兩個介面。上面的程式碼將在瀏覽器中產生以下輸出。
method of interface A I am another Method from interface B
廣告