试试看定义一个Bank类
该银行计算机是对帐户执行操作的代理因此我们从它开始我们可以如下定义代表这个的Bank类
//Define the bank
class Bank
{
//Perform a tranaaction
public void doTransaction(Transaction transaction)
{
int balance=transactiongetAccount:)gettBalance(); //Get current balance
{
switch(transactiongetTransactionType())
{
case TransactiongetTransactionType())
{
case TransactionCREDIT:
//Credits require a lot of checks
try
{
Threadsleep();
}
catch(InterruptedException e)
(
systemoutprintln(e)
}
balance =transactiongetAmount(); //Increment the balance break;
case TransactionDEBIT
//Debits require even ore checks
try
{
Threadsleep();
}
catch(InterruptedException e)
{
systemoutprintln(e);
}
blance +transactiongetAmount(); //Decrment the balance
break;
default; //we should never get here
systemoutprintln(Invalid transaction)
return types[transactionType]+ ^//c: +$+amount;
}
private Account account
private int amount;
private int transactionType
}
如何工作
一个交易的识别是由transactionType域指定的它必须被定义成交易类的一个值在构造函数中我们应该建立检查确保只创造有效的交易但我们将放弃这一功能保持较小的代码量现在你当然知道如何做这种事一个交易记录了交易量和对交易应用的帐户的引用因此一个transaction对象指定了一个完整的交易方法非常易懂值是Bank对象使用的数据成员调用的存取器万一我们需要需加入tostring()方法
[] [] [] [] [] [] [] [] []