【Kotlin 入門指南】抽象類別 (abstract)

更新 發佈閱讀 4 分鐘
【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q

抽象類別

在 Kotlin 程式語言中,定義抽象類別需要在「class」關鍵字前面加上「abstract」關鍵字。在抽象類別內,若方法是抽象的,需在「fun」前面加上「abstract」。值得留意的是,抽象類別無法直接被實體化,只能被其他類別繼承並實作其中的抽象方法。

抽象類別範例

在這個範例中,定義了一個抽象類別 MyAbstractClass,裡面包含一個抽象方法 myFun(),這個方法沒有具體的內容,只有方法名稱和定義。

abstract class MyAbstractClass {
abstract fun myFun()
}

接著,程式碼定義了一個繼承自 MyAbstractClass 的類別 MyClass,它必須實作 MyAbstractClass 中的抽象方法 myFun()。在這個範例中,MyClass 類別覆寫了 myFun() 方法,並在其中印出了 "myFun" 的訊息。

class MyClass : MyAbstractClass() {
override fun myFun() {
println("myFun")
}
}

最後,在 main() 函式中建立了 MyClass 的實例,並呼叫了 myFun() 方法。這將會執行 MyClass 中所覆寫的 myFun() 方法,印出 "myFun" 的訊息。

fun main() {
MyClass().myFun() //myFun
}

在 Android 應用程式中範例

在 Android 應用程式中,抽象類別 (Abstract) 在資料列表 RecyclerView 的 Adapter 中被廣泛運用。

public abstract static class Adapter<VH extends ViewHolder> {
...
...
...
@NonNull
public abstract VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType);


public abstract void onBindViewHolder(@NonNull VH holder, int position);


public int getItemViewType(int position) {
return 0;
}
...
...
...

}

這個抽象類別提供了必要的框架供開發者建立自訂的 Adapter。在它裡面,onCreateViewHolder 方法負責建立並回傳 ViewHolder,onBindViewHolder 方法則負責綁定資料到特定的 ViewHolder 上。透過繼承這個抽象類別,可以輕鬆地建立符合個別需求的 Adapter。

留言
avatar-img
HKT實驗室
28會員
278內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
HKT實驗室的其他內容
2023/12/15
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
Thumbnail
2023/12/15
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
Thumbnail
2023/12/11
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
Thumbnail
2023/12/11
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
Thumbnail
2023/12/11
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。
Thumbnail
2023/12/11
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
在 Kotlin 程式語言中,定義抽象類別需要在「class」關鍵字前面加上「abstract」關鍵字。在抽象類別內,若方法是抽象的,需在「fun」前面加上「abstract」。值得留意的是,抽象類別無法直接被實體化,只能被其他類別繼承並實作其中的抽象方法。
Thumbnail
在 Kotlin 程式語言中,定義抽象類別需要在「class」關鍵字前面加上「abstract」關鍵字。在抽象類別內,若方法是抽象的,需在「fun」前面加上「abstract」。值得留意的是,抽象類別無法直接被實體化,只能被其他類別繼承並實作其中的抽象方法。
Thumbnail
在 Kotlin 程式語言中 Object 實體化單例模式,它確保一個類別只有一個唯一的實例。在 Kotlin 程式語言中,你可以使用 object 這個關鍵字來實現單例模式。
Thumbnail
在 Kotlin 程式語言中 Object 實體化單例模式,它確保一個類別只有一個唯一的實例。在 Kotlin 程式語言中,你可以使用 object 這個關鍵字來實現單例模式。
Thumbnail
繼承是物件導向程式設計中一個重要的概念,它允許你建立一個新的類別,這個類別可以繼承另一個已存在的類別的特性和行為。在 Kotlin 程式語言中,繼承可以幫助你建立出更具結構化和可維護性的程式碼。
Thumbnail
繼承是物件導向程式設計中一個重要的概念,它允許你建立一個新的類別,這個類別可以繼承另一個已存在的類別的特性和行為。在 Kotlin 程式語言中,繼承可以幫助你建立出更具結構化和可維護性的程式碼。
Thumbnail
在 Kotlin 程式語言中,Any 類別是所有其他類別的超類別,也就是說,所有的類別都直接或間接地繼承 Any 類別。這使得 Any 成為 Kotlin 物件繼承體系的根源。
Thumbnail
在 Kotlin 程式語言中,Any 類別是所有其他類別的超類別,也就是說,所有的類別都直接或間接地繼承 Any 類別。這使得 Any 成為 Kotlin 物件繼承體系的根源。
Thumbnail
在第十五課中,我們將探索 Python 的基礎物件導向程式設計 (OOP) 概念。 物件導向程式設計是一種設計和組織程式碼的方法,它強調使用物件來表示資料和功能。
Thumbnail
在第十五課中,我們將探索 Python 的基礎物件導向程式設計 (OOP) 概念。 物件導向程式設計是一種設計和組織程式碼的方法,它強調使用物件來表示資料和功能。
Thumbnail
在第十一課中,我們將討論 Python 中的類別 (Classes) 和物件導向程式設計 (Object-Oriented Programming, OOP) 的概念。 物件導向程式設計是一種實現真實世界物件在程式中的模擬方式,這有助於更好地組織和管理程式碼。
Thumbnail
在第十一課中,我們將討論 Python 中的類別 (Classes) 和物件導向程式設計 (Object-Oriented Programming, OOP) 的概念。 物件導向程式設計是一種實現真實世界物件在程式中的模擬方式,這有助於更好地組織和管理程式碼。
Thumbnail
Hi, 大家好,我是茶桁。 上一节课中,我们讲解了面向对象中的一些高阶应用,给大家介绍了一些魔术方法。并在最后,我们预告这节课内容会讲解描述符和设计模式。 好了,让我们开始吧。 描述符 这个玩意,怎么讲合适呢?这么说吧,当某一个类中,包含了三个魔术方法(__get__, __set__, _
Thumbnail
Hi, 大家好,我是茶桁。 上一节课中,我们讲解了面向对象中的一些高阶应用,给大家介绍了一些魔术方法。并在最后,我们预告这节课内容会讲解描述符和设计模式。 好了,让我们开始吧。 描述符 这个玩意,怎么讲合适呢?这么说吧,当某一个类中,包含了三个魔术方法(__get__, __set__, _
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News