public /*this makes no sense*/ void appendTo(MoneyBag m) {
m.appendMoney(this);
}
}
這個接口實現了IMoney接口的方法,具體語法就不講了,很簡單!之后,我們又用另一個類實現IMoney接口,為什么呢?你可以認為我貪心,但你不可以這么說,因為喜歡編程的人絕對不是為了貪婪代碼!我們在src下建立另一個類MoneyBag.java:
import java.util.*;
class MoneyBag implements IMoney {
private Vector fMonies= new Vector(5);
static IMoney create(IMoney m1, IMoney m2) {
MoneyBag result= new MoneyBag();
m1.appendTo(result);
m2.appendTo(result);
return result.simplify();
}
public IMoney add(IMoney m) {
return m.addMoneyBag(this);
}
public IMoney addMoney(Money m) {
return MoneyBag.create(m, this);
}
public IMoney addMoneyBag(MoneyBag s) {
return MoneyBag.create(s, this);
}
void appendBag(MoneyBag aBag) {
for (Enumeration e= aBag.fMonies.elements(); e.hasMoreElements(); )
appendMoney((Money)e.nextElement());
}
void appendMoney(Money aMoney) {
if (aMoney.isZero()) return;
IMoney old= findMoney(aMoney.currency());
if (old == null) {
fMonies.addElement(aMoney);
return;
}
fMonies.removeElement(old);
IMoney sum= old.add(aMoney);
if (sum.isZero())
return;
文章來源于領測軟件測試網 http://www.kjueaiud.com/