我可以在 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
}
}
我有一个数据 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
}
}