购物车大作业
小组成员:王浩天
一、前期调查
由图可知:
添加至购物车时每件商品都有自己的名字,价格;
在购物车中有每个商品的个数,小结(价格*个数);
购物车也有总体的价格。
二、系统功能和结构图
系统功能结构图:
系统功能:
1.打印出商城中商品;
2.在购物城中加入商品;
3.打印出购物车中的商品和总价;
4.删除购物车中的商品;
三、UML类图
四、面对对象的封装性
封装性包括属性的封装,方法的封装,类的封装,组件的封装。
在Commodityattribute类中id、price、number的构造与调用以及Shoppingcar类中id、price、number的构造与调用体现了面向对象的封装性。
四、项目包结构与关键代码
public void addList(String name,double price,int number)//加入商品
{
int flag=0;
int i=0;
for( i=0;i<commodity.size();i++)
{
if(commodity.get(i).getName().equals(id))
{
flag=1;
}
}
if( flag!=1)
commodity.add(new Shoppingcar(name, price,number));
else {
Shoppingcar commodity=new Shoppingcar(name,price,number);
commodity.set(i,item);
}
}
public void Delete(String id)//删除商品
{
int flag=0;
int i=0;
for( i=0;i<commodity.size();i++) {
if(commodity.get(i).getName().equals(id))
{
flag=1;
}
}
if( index==1)
commodity.remove(i);
else {
System.out.println("没有此物品");
}
}
public class Shoppingcar //购物车{
private String id;
private double price;
private int number=0;
public void Cartitem(String id,double price,int number) {
this.id=id;
this.price=price;
this.number+=number;
}
public String getName() {
return id;
}
public void Shoppingcar(String id) {
this.id = id;
}
public int getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
public class Business//商城 {
private ArrayList<Commodity> list=new ArrayList<>();
public void Add(String id,double price,int number)
{
list.add(new Commodity(id, price, number));
}
public ArrayList<Commodity> ShowList(){
return this.list;
}
{
list.add(new Commodity("商品1",10,500));
list.add(new Commodity("商品2",200,10));
list.add(new Commodity("商品3",2000,10));
}
}
public class Commodityattribute //商品属性{
private String id;
private double price;
private int number;
public String getName() {
return id;
}
public void setName(String id) {
this.id = id;
}
public int getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void Commodity(String id,double price,int number) {
this.id=id;
this.number=number;
this.price=price;
}
public void Decrease(int number) {
this.number-=number;
}
}
public ArrayList<Shoppingcar> Showcar()//展示购物车物品{
return this.commodity;
}
public double Total() //总价{
double totalprice=0;
for(int i=0;i<commodity.size();i++) {
totalprice+=commodity.get(i).getNumber()*commodity.get(i).getPrice();
}
return totalprice;
}