使用Java设计一个图书打折系统 - 编程入门网
com.zj.books.BookType;
import com.zj.purchase.ComputerBookPublish;
import com.zj.purchase.ManagementBookPublish;
import com.zj.purchase.NewReleaseBookPublisher;
public class PayOrder implements Order {
private Map<String, Integer> payList = new HashMap<String, Integer>();
private double _pay = 0.0;
private double _discount = 0.0;
private int _copies = 0;
private double _discountPolicy = 0.0;
private double _percentagePolicy = 1.0;
public PayOrder(double discountPolicy, double percentagePolicy) {
_discountPolicy = discountPolicy;
_percentagePolicy = percentagePolicy;
}
public void buy(int copies, String name, int price, int type) {
Book book = null;
switch (type) {
case BookType.NEW_RELEASE:
book = new NewReleaseBookPublisher().bookFactory(name, price);
break;
case BookType.COMPUTER:
book = new ComputerBookPublish(_discountPolicy).bookFactory(name,
price);
break;
case BookType.MANAGEMENT:
book = new ManagementBookPublish(_percentagePolicy).bookFactory(
name, price);
break;
default:
throw new RuntimeException("Type not found.");
}
_copies += copies;
payList.put(book.getName(), copies);
_pay += copies * book.getPrice();
_discount += copies * book.getDiscount();
}
public double originalPay() {
return _pay;
}
public double actualPay() {
return _pay - _discount;
}
public void setActualPay(double pay) {
_pay = pay;
}
public double discount() {
return _discount;
}
public void setDiscount(double discount) {
_discount = discount;
}
public int getCopies() {
return _copies;
}
public void printPayList() {
System.out.println(toString());
}
public void addPolicy() {
}
public String toString() {
return payList.toString();
}
}
使用Java设计一个图书打折系统(6)时间:2011-03-23 zhangjunhdOrderDecorator是一个装饰角色,它持有一个Order的引用。 OrderDecorator.java
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |