2021-10-07

购物车大作业

小组成员:王浩天

一、前期调查
在这里插入图片描述
由图可知:
添加至购物车时每件商品都有自己的名字,价格;
在购物车中有每个商品的个数,小结(价格*个数);
购物车也有总体的价格。
二、系统功能和结构图
系统功能结构图:
在这里插入图片描述
系统功能:
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;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值