Java大作业 —— 面向对象设计(购物车)
人员分工| 姓名 | 分工 |
|---|---|
| 冯仁樟 | 前期调查与功能设计、博客制作 |
| 陈文杰 | 面向对象设计、代码编写 |
首先对于商品需要有一个描述,提供商品信息,商品编号及价格,方便用户挑选,用户对于商品可进行加入购物车操作。购物车界面展示所选商品编号,名称,价格及商品数量,还可以进行预结算以及对所选商品进行操作。
二、系统功能结构图 三、系统描述首先,进入系统的界面,界面上有系统的各种功能。接着创建一个货架,并对每一个商品进行初始化,每个商品都有名称,编号,价格。对于货架,有几个方法,首先是展示货架的商品,其次可以进行商品的搜索,通过商品的编号进行搜索,最后,可以显示购物车的内容,与账单。最后需要创建一个购物车,购物车中包含用户挑选的商品,其中也有方法:添加商品:用户可以挑选自己喜欢的商品,删除商品:用户可以删除商品,清空购物车:清除购物车的所有商品,展示商品:展示购物车的所有商品。
四、UML类图 (一).类的属性表示方式1.商品类(Commodity)
2.货架类(Shelves)
3.购物车类(Car)
4.界面类(UI)
(二 )类与类之间的关系商品类中个每个对象属性都是设置为private,外部无法直接访问,只能通过getters函数进行访问,这就是封装性的体现。
六、项目包结构与关键代码 1.项目包结构2.关键代码
购物车(car)
package shopping;
public class Car {
public static int[] payNumber = new int[100];
public static int[] getPayNumber() {
return payNumber;
}
public static void setPayNumber(int[] payNumber) {
Car.payNumber = payNumber;
}
public static int addGoods(int goodsId, int goodsAddNumber) {// 增加购物车商品
for (int i = 0; i < Commodity.getA() ; i++) {
if (i == goodsId) {
payNumber[i] += goodsAddNumber;
return 1;
}
}
return 0;
}
public static int subGoods(int goodsId, int goodsSubNumber) {// 减少购物车商品
for (int i = 0; i < Commodity.getA(); i++) {
if (i == goodsId) {
payNumber[i] = payNumber[i] - goodsSubNumber;
if (payNumber[i] < 0)
payNumber[i] = 0;// 保证数字不小于0
return 1;
}
}
return 0;
}
public static void cleanGoods() {// 清空购物车商品
for (int i = 0; i < Commodity.getA(); i++) {
payNumber[i] = 0;// 保证数字不小于0
}
}
}
商品类(Commodity)
package shopping;
public class Commodity {
private int id;
private String name;
private int price;
private static int a = 8;
public static int getA() {
return a;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public Commodity(int id, String name, int price)
{
this.id = id;
this.name = name;
this.price = price;
}
}
}
public Commodity(int id, String name, int price)
{
this.id = id;
this.name = name;
this.price = price;
}
}



