让我们说我正在Kotlin中处理以下代码:
class Human(var head: Head, var body: Body, var legs: Legs) {
var height = this.head.length + this.body.length + this.legs.length
}
class Head(var length: Int) { }
class Body(var length: Int) { }
class Legs(var length: Int) { }
为什么在初始化时返回正确的高度Human.height -> x
,但是如果对各个零件进行了更改却不会更新?我使用这些子类的格式是否正确?我已经找到了有关正确使用子类的一些文档,但是还没有找到与我的用例匹配的结构。预先感谢!
您没有实现getter,只需在初始化height
时简单地计算并分配Human
值。
您正在寻找的是getter实现:
class Human(var head: Head, var body: Body, var legs: Legs) {
var height
get() = this.head.length + this.body.length + this.legs.length
}