网上购物系统,实现了一个具体的框架
源代码在线查看: cart.java
/**
* @name Cart.java
* @version 1.1
* @author Administrator/pan
* @date 2009/2/11
*/
package com.digitstore.process.sale;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.digitstore.process.sale.SalesLineItem;
public class Cart implements Serializable{
//声明一个购物列表
private final Map salesLineItem = new HashMap();
//构造函数
public Cart(){}
//获得当前CartSalesLineItem的列表集合
public Iterator getAllCartItems(){
return salesLineItem.values().iterator();
}
//添加商品条目方法
public void addSalesLineItem(String itemID){
if(!salesLineItem.containsKey(itemID)){
SalesLineItem sLI = new SalesLineItem(itemID);
salesLineItem.put(itemID, sLI);
}else{
SalesLineItem sLI = salesLineItem.get(itemID);
sLI.incrementQuantity();
}
}
//删除商品条目方法
public void removeSalesLineItem(String itemID){
if(!salesLineItem.isEmpty()&&salesLineItem.containsKey(itemID)){
salesLineItem.remove(itemID);
}else{
System.out.println("购物车没有添加该商品,无法删除!");
}
}
//更新指定的SalesLineItem的商品数量
public void setQuntitySLI(String itemID, int quantity){
//更新本商品条目
if(!salesLineItem.isEmpty()&&salesLineItem.containsKey(itemID))
salesLineItem.get(itemID).setQuantity(quantity);
}
//指定点SalesLineItem的商品数目加一
public void incrementQuantityByItemID(String itemID){
SalesLineItem SLI = salesLineItem.get(itemID);
SLI.incrementQuantity();
}
//计算当前购物车商品的总价
public double getTotal(){
double subTotal = 0;
Iterator items = getAllCartItems();
while(items.hasNext()){
SalesLineItem sLI = (SalesLineItem)items.next();
subTotal += sLI.getSubTotal();
}
return subTotal;
}
}