我可以在 Kotlin 中使用其他两个参数的数据 class 参数乘法吗?

can I use data class argument multiplication of other two arguments in Kotlin?

我有一个数据 class 有 3 个参数,我需要将第三个参数作为其他两个参数的乘积。

data class Item(var qty: Int, var price : Double, var totalPrice : Double = qty * price){ }

在我创建项目对象后 var itemOne = Item(1, 3.70) 如果我更改 itemOne.qty = 2 它仍然给我 itemOne.totalPrice 作为 3.70

有没有办法做到这一点,我的意思是使用其中一个参数作为其他参数的数学运算? 谢谢

如果 totalPrice 应该总是被计算,它根本不应该在构造函数中:

data class Item(var qty: Int, var price: Double) {
  val totalPrice: Double
    get() = qty * price
}

如果您想更改 item.qty 并更新 totalPrice,您应该创建 Item 到 re-calculate 的新实例 totalPrice 或者您可以创建函数 updateQty.

data class Item(var qty: Int, var price: Double, var totalPrice:Double) {
   fun updateQty(qty:Int){
      this.qty = qty
      this.totalPrice = qty * this.price
   }
}