Java 基于变量创建一个类
我有一个基类Accounts,它处理基本account函数的所有信息和方法。然后我有Checkings和Savings的子类来处理不同类的特定函数。我有一个动作监听器,可以添加帐户Java 基于变量创建一个类,java,class,design-patterns,Java,Class,Design Patterns,我有一个基类Accounts,它处理基本account函数的所有信息和方法。然后我有Checkings和Savings的子类来处理不同类的特定函数。我有一个动作监听器,可以添加帐户 addBtn.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { // add the account
addBtn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// add the account
//this is where I am stuck!
Account account = new Savings(amount);
}
});
基于JComboBox中的一个变量,我希望能够区分创建了什么样的类
//get the types of accounts
ArrayList<String> accountTypes = Account.getAccountTypes();
JComboBox box = new JComboBox(accountTypes.toArray());
contentPanel.add(box);
我能做些什么来更好地处理这个问题呢?如果您只需要在实际操作中使用这个监听器,只需在那里输入简单的If/else或switch/case即可。如果您可能需要在其他地方以类似的方式创建对象,请阅读Factory Method等设计模式。使用简单的If语句?如果combobox值为这,则创建一个新的储蓄对象,否则如果combobox值为这,则创建一个新的检查对象。Jesper,我正在更好地设计我的软件,我知道一个简单的开关或If语句在这里可以工作,但是我想养成让它更易于维护的习惯。getAccountTypes实际上访问枚举。还有一个现金帐户,我希望在构建应用程序时最终进一步添加帐户,因此我希望进一步避免if/else结构。此外,我不知道如何在不必执行if/else结构的情况下实例化一个新类。不过,我要看看我能用工厂模式做些什么。谢谢你,路易吉。