iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0

抽象類別是一種不能建立實體的類別,如果需要使用的話,可以透過繼承的方式給子類使用裡面的屬性或方法,通常在實體化沒有意義的父類別時,就可以改用抽象類別。

Kotlin 抽象的特點

  • 使用 abstract 關鍵字
  • 抽象類底下的屬性跟方法預設是非抽象的,想要覆寫的話記得要加 open
  • 如果是抽象的屬性或方法就不需要使用 open 即可以被覆寫
  • 抽象類別不能直接實例話,只能透過子類來繼承

抽象比較難理解,舉例來說明

open class Livingthings {
    open fun breathe() {
        println("生物都會呼吸")
    }
}
abstract class Animal : Livingthings() {
    override abstract fun breathe()
}
class Cat: Animal(){
    override fun breathe() {
        println("貓也會呼吸")
    }
}
fun main(args: Array<String>){
    val lt = Livingthings()
    lt.breathe()      //生物都會呼吸
    val myCat = Cat()
    myCat.breathe()   //貓也會呼吸
}

參考資料

Kotlin Abstract Class


上一篇
第二十一天:物件導向程式設計之多形
下一篇
第二十三天:物件導向程式設計原則 SOLID
系列文
轉職成 Android Developer 的最後一哩路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言