JDBC dao和继承

时间:2017-07-31 18:46:05

标签: java inheritance jdbc dao

假设我的模型中有2个类:

public class Account {
  int capital;
  int numero
  }

public class SavingAccount extends Account{
  double rate;  
}

因此,当我必须使用JDBC在数据库中保存或检索帐户时,它可以正常工作,但是对于资本和数字来说它是可行的,但是对于速率我需要检查类型并投射它:

if(account.getType() ==  AccountType.SAVINGACCOUNT) {
((SavingAccount)Account).setRate(result.getDouble("rate"));
}

除此之外是否可以做或者有两种不同的方法?

1 个答案:

答案 0 :(得分:0)

最后一个和前一个实现类是SavingAccount。 SavingAcccount包含rate's getter and setter个方法。因此,无论何时使用getRate(),都应该将您的帐户输入SavingAccount,因为在SavingAccount的堆空间中,您有getRate()方法。

由于最终实现是通过SavingAccount,因此您还可以通过TypeChecking AccountType.SAVINGACCOUNT提供正确的数据库事务。

当您通过Account实例执行执行时,它会为您提供多态功能。这就是为什么它很重要。

因此,在您的方案中,我没有看到任何其他解决方案存在。你做得很好。