假设我的模型中有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"));
}
除此之外是否可以做或者有两种不同的方法?
答案 0 :(得分:0)
最后一个和前一个实现类是SavingAccount
。 SavingAcccount包含rate's getter and setter
个方法。因此,无论何时使用getRate()
,都应该将您的帐户输入SavingAccount
,因为在SavingAccount
的堆空间中,您有getRate()
方法。
由于最终实现是通过SavingAccount
,因此您还可以通过TypeChecking AccountType.SAVINGACCOUNT
提供正确的数据库事务。
当您通过Account
实例执行执行时,它会为您提供多态功能。这就是为什么它很重要。
因此,在您的方案中,我没有看到任何其他解决方案存在。你做得很好。