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 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰