gpt4 book ai didi

java - 在类中存储对象类型的最佳实践

转载 作者:行者123 更新时间:2023-11-29 08:42:21 25 4
gpt4 key购买 nike

我有两种类型的交易:- 收入- 费用

class Transaction {
final public static int IN = 0x1, OUT = 0x2;
final private int type;

Transaction(int type)
{
this.type = type;
}

public int getType() {
return type;
}

// --- internal logic is same for both types ---
}

// create:
Transaction t = new Transaction(Transaction.IN);

这种情况下的最佳做法是什么?我应该声明一个枚举?两个类?我应该使用工厂模式吗?

最佳答案

我建议在这种情况下使用 Enumeration,因为这样,您可以以静态检查的方式限制可能的值:

enum TransactionType {
Income, Expense;
}

class Transaction {
final private TransactionType type;

Transaction(TransactionType type) {
this.type = type;
}

public TransactionType getType() {
return type;
}

}

否则,可以将任何 int 值提供给构造函数 Transaction(int type)

enum 的另一个好处是,您以后可以根据需要向他们提供一些附加信息(例如,不同的格式模式等)。

关于java - 在类中存储对象类型的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39129451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com