正如官方教程中提到的,我们可以将属性存储在一个 Map 中,并将一个类委托给它:
class User(val map: Map<String, Any?>) {
val name: String by map
val age: Int by map
}
然而,有时我们在映射中存储非平凡的结构,比如另一个类(这在处理复杂的 json 时很常见)。为了更好地阐述我的想法,我想出了这样的伪代码:
class User(val map: Map<String, Any?>) {
val name: String by map
val otherType: OtherType by map
}
class OtherType {}
是否可以委托这种嵌套结构?