Kotlin 教學【從零開始學 Kotlin 程式設計】委托屬性 (Delegated properties)

【從零開始學 Kotlin 程式設計】
線上教學課程目錄:https://bit.ly/2Kx7GrM
Youtube 課程播放清單:https://bit.ly/3qJ5a5Q

委托屬性

繼承 ReadWriteProperty 的寫法

import kotlin.properties.ReadWriteProperty
import kotlin.reflect.KProperty

//繼承 ReadWriteProperty 的寫法
class Delegate : ReadWriteProperty<Example, String> {
    private var data = "初始值"

    override fun getValue(thisRef: Example, property: KProperty<*>): String {
        return data
    }

    override fun setValue(thisRef: Example, property: KProperty<*>, value: String) {
        data = value
    }

}

class Example {
    var data: String by Delegate()
}

fun main() {
    val e = Example()
    println(e.data)

    e.data = "資料更新"
    println(e.data)
}

沒有繼承 ReadWriteProperty 的 Delegate 寫法

class Delegate {
    private var data: String = "初始值"

    operator fun getValue(example: Example, property: KProperty<*>): String {
        return data
    }

    operator fun setValue(example: Example, property: KProperty<*>, value: String) {
        data = value
    }

}

那這次的課程就介紹到這邊囉~

順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。

我們下次再見囉!!!掰掰

這個網誌中的熱門文章

nano 文字編輯器

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

16天記下7000單字

Android Studio 歷代版本下載點

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)