Kotlin委托属性:强大功能与灵活应用
1. 委托属性基础
委托属性是Kotlin中强大的构造,具有多种应用场景。先来看一个简单的委托属性使用示例,展示了如何提供返回值以及未设置值时可能出现的错误:
var name: String by.notNull()
println(name)
// Error: Property name should be initialized before get.
在这个例子中, name 属性使用了 notNull 委托。当尝试在未初始化时获取该属性的值,就会抛出错误。这是委托属性的一个简单应用,也为我们理解属性委托的工作原理提供了良好的入门示例。
2. 可观察委托(Observable Delegate)
可观察委托是标准库中对可变属性最有用的委托之一。每次设置属性值(即调用 setValue 方法)时,委托声明中的 lambda 函数都会被调用。以下是一个简单的可观察委托示例:
var name: String by Delegates.observable("Empty"){
property, oldValue, newValue ->
println("$oldValue -> $newValue")
}
// Usage
name = "Martin"
// Prints: Empty -> Marti
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



