我正在为基本模拟银行系统的类(我们正在使用类中的并发性工作,因此我们需要为本学期的其余部分创建主干)进行分配。我遇到的问题是创建一个名为Transaction
的抽象类,它实现了一系列与不同类型事务相关的不同方法的接口。然后,我们必须为每种交易类型(即AccountNumberInquiry,AccountBalanceInquiry,AccountWithdrawal等)创建Transaction类的子类。子类,抽象和继承
我的问题是我在正确的轨道还是我理解这一切都错了?
Transaction.java
public abstract class Transaction implements TransactionInterface {
private Account account;
public Transaction(Account account) {
this.account = account;
}
}
TransactionInterface.java
public interface TransactionInterface {
public int getAccountNumber();
public void makeTransfer();
public boolean makeWithdrawal();
public double getAccountBalance();
public void makeDeposit();
}
AccountTransfer.java(只是交易的一个例子的子类)
public class AccountTransfer extends Transaction {
private Account account;
public AccountTransfer(Account account) {
super(account);
this.account = account;
}
public void makeTransfer(Account toAccount, double amount) {
AccountWithdrawal withdrawal = new AccountWithdrawal(account);
if(withdrawal.makeWithdrawl(amount) == true) {
// transfer to other account
} else {
// prompt error
}
}
}
我需要@Override
我的AccountTransfer
类中的接口方法是否正确?只有一大堆东西令我困惑。
为什么你需要两个'Account'字段?在'Transaction'' protected'中创建一个,并在子类中重新使用它。 –
如果你有一个类,它不是'abstract',实现一个接口或者扩展一个'abstract'类,它需要为所有继承的'abstract'方法实现一个实现(包括接口,它们隐含地是'abstract ' –
我想我只是在想这个问题。 – pattmorter