Java购物车大作业01
任务 | 姓名 |
编码规范、前期调查与功能设计 | 张官德 |
面向对象设计、PPT制作或博客制作 | 梁桢 |
1前期调查
0.1调查收获
- 不同的商品有自己的商品名,单价,也就是商品类的属性
- 每个商品也可以在购物车中添加,减少或者删除购买
- 每个商品调用是依赖于商品类的属性也就是依赖于商品类的信息
2.系统功能结构图
3.系统描述
4.UML类图
5.本系统哪里体现了面向对象的封装性
例如:Goods.java中:
public class Goods {
private String name;
private double price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
pubilc、private体现了面向对象的封装性
如对name,price的属性为private,只能被当类调用。在其他类只能用get set调用,体现封装性
6.项目包结构与关键代码:
为什么要这样设计包结构
这样子的包结构展示了商品从搜索到下单加入购物车到最后给出总价的过程,体现了面向对象的封装性
主要功能的流程图
6.1添加购物车流程图:
主要代码:
public void putIn(Entry entry) {
for(int i=0;i<list.size();i++) {
if(list.get(i).getGoods().getName().equals(entry.getGoods().getName())) {
list.get(i).setNum(list.get(i).getNum()+entry.getNum());
return;
}
}//判断购物车内是否已经添加过此类商品
if(entry.getNum()==0) {
return;
}
list.add(entry);
}// 某物品加入加入购物车且标明数量
6.2删除购物车商品流程图:
public void deleteList(Entry entry) {
int index=list.indexOf(entry);
list.remove(index);
System.out.println("商品已删除");
}//删除物品
6.3展示购物清单流程图:
public void shouList() {
System.out.println("以下是您的购物清单:");
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i).getGoods().getName()
+" "+list.get(i).getNum()+" "
+list.get(i).getNum()*list.get(i).getGoods().getPrice()+"元");
}
return;
}//展示购物清单
6.4计算购物车商品总价代码:
public int calculatePrice() {
int i;
int totalPrice = 0;
for (i = 0; i < list.size(); i++) {
totalPrice += list.get(i).getGoods().getPrice() * list.get(i).getNum();
}
return totalPrice;
}// 计算总价格