• Java面向对象课程设计——购物车


    0.人员分工。

    代码 博客
    邓宏 姚庆荣

    1.前期调查。

    客人先在商城中浏览商品,将浏览的商品加入购物车,最后通过购物车生成订单,支付购买结束。

    2.系统功能结构图。

    业务流程图

    功能结构图

    3.系统描述:购物车程序:先将商城中的商品进行包装,表明商品编号商品名称商品类型商品单价作为商品类的属性。当顾客浏览商城时选中待购买的商品,需从商品类中提取有关商品信息,并根据商品的单价数量计算该类商品的价格,最后在用户界面显示商品的信息价格

    4.UML类图:



    5.本系统哪里体现了面向对象的封装性。

    在ProductItem.java中

    public class ProductItem {
    
    	private Product product;//购买的商品
    	private int count;//商品数量
    	public double totalMoney(){//小计
    		double price=product.getPrice();//获取商品单价
    		return price*count;
    	}
    	
    	public ProductItem() {
    		super();
    	}
    	 
    	public ProductItem(Product product, int count) {
    		super();
    		this.product = product;
    		this.count = count;
    	}
    	 
    	public Product getProduct() {
    		return product;
    	}
    	public void setProduct(Product product) {
    		this.product = product;
    	}
    	public int getCount() {
    		return count;
    	}
    	public void setCount(int count) {
    		this.count = count;
    	}
    
    }
    

    pubilc、private体现了面向对象的封装性;

    **商品的属性、商品属性的获取方式、购物车中商品的添加可以体现面向对象的封装性;

    6.项目包结构与关键代码:项目的包结构(为什么要这样设计包结构),主要功能(如网购物车添加、删除商品)的流程图与关键代码。

    该项目的包结构可以保证在后期进行程序修改时更为简便。

    6.1 商品添加

    流程图

    关键代码

    public void addProduct(Product p){//添加商品
    		int productId=p.getProductId();
    		if(map.containsKey(productId)){
    			ProductItem productItem=map.get(productId);
    			productItem.setCount(productItem.getCount()+1);
    		}else{
    			map.put(productId, new ProductItem(p,1));
    		}
    	}
    

    6.2 购物车展示

    流程图

    关键代码

    public class ShoppingCartTest {
    	public static void main(String[] args) {
    		ShoppingCart cart=new ShoppingCart();
    		Product p1=new Product(101,"华硕笔记本","笔记本",4599);
    		Product p2=new Product(102,"苹果","水果",5.9);
    		Product p3=new Product(103,"彩电","家电",2799);
    		Product p4=new Product(104,"秋裤","服装",128);
    		Product p5=new Product(105,"华为手机","手机",2998);
    		Product p6=new Product(101,"华硕笔记本","笔记本",4599);
    		cart.addProduct(p1);
    		cart.addProduct(p2);
    		cart.showAll();
    
     
    	}
    }
    
    
  • 相关阅读:
    使用Git--将本地项目提交到Github
    海量数据处理面试题
    web前后端安全问题
    mysql关键字如何当字段使用
    一个Java项目开发流程(正规级别)
    开发工具idea中撤回代码和恢复撤销代码快捷键
    layui前端使用
    shiro标签
    常见SVN图标的含义
    最常见到的runtime exception 异常
  • 原文地址:https://www.cnblogs.com/denghong88/p/15367268.html
Copyright © 2020-2023  润新知