zoukankan      html  css  js  c++  java
  • 2020.12.1收获

    从今天开始想完成一个关于图书购物车的小型项目:

    bean->Book.java (图书实体)

    public class Book{
    	
    	private String id;
    	private String name;
    	private String author;
    	private String description;
    	private double price;
    	
    	public Book() {}
    	public Book(String id,String name,String author,String description,double price) {
    		this.id =id;
    		this.name=name;
    		this.author=author;
    		this.description=description;
    		this.price=price;
    	}
    	
    	public String getId() {
    		return id;
    	}
    	public void setId(String id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getAuthor() {
    		return author;
    	}
    	public void setAuthor(String author) {
    		this.author = author;
    	}
    	public String getDescription() {
    		return description;
    	}
    	public void setDescription(String description) {
    		this.description = description;
    	}
    	public double getPrice() {
    		return price;
    	}
    	public void setPrice(double price) {
    		this.price = price;
    	}
    }

    bean->CartItem.java(购物项实体)

        /*购物项代表的是当前书,并表示该书出现了几次*/
        public class CartItem {
        
            private Book book;
            private int quantity;
        
            //该购物项(书--不一定只有一本)的价钱应该等于书的数量*价格
            private double price;
        
            
            //书的价钱*数量
            public double getPrice() {
                return book.getPrice() * this.quantity;
            }
        
            public Book getBook() {
                return book;
            }
        
            public void setBook(Book book) {
                this.book = book;
            }
        
            public int getQuantity() {
                return quantity;
            }
        
            public void setQuantity(int quantity) {
                this.quantity = quantity;
            }
            
            public void setPrice(double price) {
                this.price = price;
            }
        }

    bean->Cart.java(购物车实体)

        /*该类代表的是购物车*/
        public class Cart {
        
            //关键字是书籍的id,值是书
            private Map<String, CartItem> bookMap = new LinkedHashMap<>();
        
            //代表着购物车的总价
            private double price;
        
        
            //把购物项(用户传递进来的书籍)加入到购物车里边去,也应该是购物车的功能
            public void addBook(Book book) {
        
                //获取得到购物项
                CartItem cartItem = bookMap.get(book.getId());
        
                //判断购物车是否存在该购物项,如果不存在
                if (cartItem == null) {
        
                    //创建这个购物项对象
                    cartItem = new CartItem();
        
                    //将用户传递过来的书籍作为购物项
                    cartItem.setBook(book);
        
                    //把该购物项的数量设置为1
                    cartItem.setQuantity(1);
        
                    //把购物项加入到购物车去
                    bookMap.put(book.getId(), cartItem);
                } else {
        
                    //如果存在该购物项,将购物项的数量+1
                    cartItem.setQuantity(cartItem.getQuantity() + 1);
                }
            }
        
            //购物车的总价就是所有购物项的价格加起来
            public double getPrice() {
        
                double totalPrice = 0;
        
                for (Map.Entry<String, CartItem> me : bookMap.entrySet()) {
        
                    //得到每个购物项
                    CartItem cartItem = me.getValue();
        
                    //将每个购物项的钱加起来,就是购物车的总价了!
                    totalPrice += cartItem.getPrice();
                }
        
                return totalPrice;
            }
        
        
            public Map<String, CartItem> getBookMap() {
                return bookMap;
            }
        
            public void setBookMap(Map<String, CartItem> bookMap) {
                this.bookMap = bookMap;
            }
        
        
            public void setPrice(double price) {
                this.price = price;
            }
        }
  • 相关阅读:
    Ext.Net中,文件下载。
    Ext.Net中,DataView数据绑定之使用技巧。
    Ext.Net控件,简单案例1,让我们从Hello World开始,走进Ext.Net控件的世界!。
    VSCode入门设置成中文
    S2T40,第四章,简答4
    MongoDB学习笔记三:查询
    初等数论学习笔记一:整除的概念与带余除法
    MongoDB学习笔记四:索引
    初等数论学习笔记二:最大公因数与辗转相除法
    MongoDB学习笔记二:创建、更新及删除文档
  • 原文地址:https://www.cnblogs.com/ltw222/p/14171111.html
Copyright © 2011-2022 走看看