Java 对象字段值取决于其他字段 - 最佳实践模式?

标签 java oop

我有一个简单的java对象

 public class Order {
  private int quantity;
  private long price;
  private long totalPrice;
 }

我将只存储数量和价格,totalPrice 字段将根据数量 * 价格生成。

现在我在 Order 类中有一个名为 populateTotalPrice() 的方法。但似乎我在一个可能是反模式的实体类中放置了一个逻辑?

我的另一个选择是使用辅助静态方法。

对于此类行为,真正的最佳做法是什么?

最佳答案

Java 的做法是根据属性 而非字段来处理对象。大多数属性都基于支持字段,但在您的情况下,属性totalPrice 是一个计算属性 是有意义的:

public long getTotalPrice() {
  return price * quantity;
}

关于Java 对象字段值取决于其他字段 - 最佳实践模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65472120/

相关文章:

java - 如何使用放心发布复杂的XML

java - 避免处理 config.properties 的 Java 类文件中的静态方法和变量

java - 循环不断打印每个递增的结果

java - 如何处理货币的精度和舍入误差?

swift - 一个服务应该调用另一个服务还是应该获取它自己的数据

json - 如何在模型类中映射动态属性(Swift)

javascript - 定义 Javascript 原型(prototype)

c++ - 如何将一个类的成员函数用作另一个类的友元函数?

java - 如果程序不等待用户输入/系统资源,那么java中的线程有什么用

Java 需要帮助来关闭 Stream