第1次任务:购物车程序的面向对象设计
0.人员分布
任务 | 姓名 |
---|---|
编码规范、代码编写、面向对象设计 | 吴富贵 |
前期调查、功能设计与博客编写制作 | 方振威 |
1.前期调查
京东商城的购物车
(1)搜索商品过程中可包含的类
(2)加入购物车过程中可包含的类
(3)购物车操作过程中可包含的类
(4)下单过程中可能包含的类
进入购物车后,我们可以看到我们所加入的各种类的商品,它的有无货品状态,我们的购买数量,和所花费的预估金额。我们可以在购物车中进行单个删除和增加的操作,选定商品清除和购买的操作。
2、系统功能结构图
3、系统描述
4、UML类图
Commodity类用于展示商城信息和购物车信息
ShopCarApp类用于对购物车里的商品信息进行修改
5、封装性体现
商品的个体属性,既编号,名字,价格,产地在程序运行中不可改变。
6、项目包结构和主要代码和流程图
项目包结构
cart包里包含类1 Commodity和类2 ShopCarApp
主要代码
类commondity的代码
package cart;
public class Commodity {
private int goodsId;//商品编号
private String name;//商品名字
private float price;//商品价格
private String press;//产地
private int storeNum;//库存
private int buyNum;//购买数量
public Commodity(int goodsId, String name, float price, String press, int storeNum) {
super();
this.goodsId = goodsId;
this.name = name;
this.price = price;
this.press = press;
this.storeNum = storeNum;
}
public Commodity() {
super();
}
public int getGoodsId() {
return goodsId;
}
public void setGoodsId(int goodsId) {
this.goodsId = goodsId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getPress() {
return press;
}
public void setPress(String press) {
this.press = press;
}
public int getStoreNum() {
return storeNum;
}
public void setStoreNum(int storeNum) {
this.storeNum = storeNum;
}
public int getBuyNum() {
return buyNum;
}
public void setBuyNum(int buyNum) {
this.buyNum = buyNum;
}
}
类ShopCarApp的主要代码
public static void userOperas(String zhiling) {
switch (zhiling) {
case "add":
ShopCarApp.addGoodsToShopCar();
break;
case "delete":
ShopCarApp.deleteGoodsToShopCar();
break;
case "car":
ShopCarApp.showShopCar();
break;
case "update":
ShopCarApp.updateShopCarGoodsInfo();
break;
case "index":
ShopCarApp.main(null);
break;
case "order":
ShopCarApp.orderCommit();
break;
default:
System.out.println("您输入的指令不正确!");
ShopCarApp.main(null);
break;
}
}