使用接口实现银行账户的概念,包括的属性有“账号”儲户姓名”存款余额”,包括的方法有“存款”取款”“查询“计算利息。“累加利息”。要求用相应的接口,实现银行定期存款账户、银行活期存敖账户和国债帐户(3 种账户的利率不同)。
时间: 2024-12-13 14:27:00 浏览: 16
在软件设计中,我们可以创建一个名为`BankAccount`的接口来表示银行账户的基本特性。这个接口可能包含以下几个部分:
```java
// BankAccount接口
public interface BankAccount {
String getAccountNumber();
String getHolderName();
double getBalance();
void deposit(double amount);
void withdraw(double amount);
double checkInterestRate(); // 获取当前利率
double calculateInterest(); // 根据当前利率计算利息
// 对于定期存款账户和国债账户的特殊实现,可能需要额外方法
class SavingsAccount implements BankAccount {
private double interestRate;
// 实现接口方法
// ...
public SavingsAccount(double initialBalance, double interestRate) {
this.interestRate = interestRate;
}
@Override
double calculateInterest() {
return getBalance() * interestRate;
}
}
class CurrentAccount implements BankAccount {
private double interestRate; // 活期通常较低
// 实现接口方法
// ...
public CurrentAccount(double initialBalance) {
this.interestRate = ...; // 具体活期利率
}
@Override
double calculateInterest() {
// 活期账户可能有固定或很低的利息
return getBalance() * veryLowInterestRate;
}
}
class TreasuryBondAccount implements BankAccount {
private static final double TREASURY_BOND_RATE;
// 初始化静态常量
// ...
public TreasuryBondAccount(double initialBalance) {
// ...
}
@Override
double calculateInterest() {
return getBalance() * TREASURY_BOND_RATE;
}
}
}
```
在这个例子中,`SavingsAccount`, `CurrentAccount`, 和 `TreasuryBondAccount` 都实现了 `BankAccount` 接口,并且分别处理了不同的利率规则。用户可以根据需要创建并操作这三种类型的账户。
阅读全文