我有一个包含以下属性的抽象类
var items: List<I> = listOf()
set(value) {
field = value
onDataChanged()
}
在我的扩展类中,我现在想覆盖items
的setter以便在调用上述setter代码之前做更多的事情。如果可以的话,这可能吗?
答案 0 :(得分:6)
您必须在父类中将字段声明为> Hash[*array][:a][:b]
#=> [:c, :d]
open
在子类中,您将其重写为:
open var items: List<I> = listOf()
set(value) {
field = value
onDataChanged()
}
通过这种方式,您实际上是在创建没有后备字段的属性,而只是访问真正父母的override var items: List<Int>
get() = super.items
set(value) {
super.items = value
//Your code
}
字段。