閱讀以下說明和 Java 代碼,填補代碼中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
在股票交易中,股票代理根據(jù)客戶發(fā)出的股票操作指示進行股票的買賣操作。其類圖如圖 6-1 所示。相應(yīng)的Java 代碼附后。
圖6-1 類圖
【 Java 代碼】
import java.util.ArrayList;
import java.util.List;
class Stock {
private String name;
private int quantity;
public Stock(String name ,int quantity) {
this.name = name; this.quantity = quantity;
}
public void buy() { System.out.println("[ 買進]: " + name + ",數(shù)量:"
+ quantity);}
public void sell() { System.out.println("[ 賣出]: " + name + ",數(shù)量:"
+ quantity);}
}
interface Order {
void execute();
}
class BuyStock (1) Order {
private Stock stock;
public BuyStock(Stock stock) { (2) = stock; }
public void execute() { stock.buy();}
}
//類SellStock實現(xiàn)和BuyStock 類似,略
class Broker {
private List<Order> orderList = new ArrayList<Order>();
public void takeOrder( (3) order) { orderList.add(order); }
public void placeOrders() {
for ( (4) order : orderList) { order.execute(); }
orderList.clear();
}
}
public class StockCommand {
public static void main(String[] args) {
Stock aStock = new Stock("股票 A" ,10);
Stock bStock = new Stock("股票 B" ,20);
Order buyStockOrder = new BuyStock(aStock);
Order sellStockOrder = new SellStock(bStock );
Broker broker = new Broker();
broker.takeOrder(buyStockOrder);
broker.takeOrder(sellStockOrder);
broker. (5) ;
}
}