面向對象大作業-第一次-購物車


購物車程序的面向對象設計

成員任務分配

任務 姓名
代碼編寫、博客制作 鄭文華
前期調查、功能設計 任媛

一、目標:

學會使用講故事的方式找到系統中可能包含的類與屬性
理解封裝

二、前期調查

當今,網上購物早已成為一種常態,網上購物給人們提供了很大的便利。下面,以淘寶為例,來看看購物車系統都有些什么功能。首先,在商品的界面,我們清楚的可以看見商品的名稱以及單價,還有一些其他商品信息介紹。我們可以對商品將添加入購物車。

在購物車里,可以增加商品數量,減少商品數量,刪除商品,查找商品等。

勾選商品,進行結算。

三、系統功能結構圖

四、系統描述

將選定的商品放入購物車,在購物車內可以存放多種類型的商品,用戶還可以刪除選中商品、清空購物車、增加減少商品數量,計算購物車內所有商品的數量價格,用戶可以在購物車內進行結算,生成訂單。

五、 UML類圖

六、項目包結構與關鍵代碼

商品

package Shoppingcart;

public class Product {
	private Integer productId;// 商品編號
	private String productName;// 商品名稱
	private double price;// 單價

	public Product(Integer productId, String productName,double price) {
		this.productId = productId;
		this.productName = productName;
		this.price = price;
	}

      

	public Integer getProductId() {
		return productId;
	}

	public void setProductId(int productId) {
		this.productId = productId;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

        public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}
	
	  @Override
	public String toString() {
		return "Product [productId=" + productId + ", productName=" + productName + ", price=" + price + "]";
	}
	

}



購物車功能
package shoppingcar;


import java.util.*;

public class ShoppingCar {

	private HashMap<Product,Integer> shoppingcar;
	 
	public ShoppingCar() {
		shoppingcar = new HashMap<Product,Integer>();
	}
 
	public HashMap<Product,Integer> getShopping_car() {
		return shoppingcar;
	}
	
	public void addProduct(Product product,int num) {
		shoppingcar.merge(product, num, Integer::sum);
	}
	
	public void reduceProduct(Product product) {
		shoppingcar.remove(product);
 
	}
	
	public double TotalPrice(){
		double sum = 0;
		
		for (Product key : shoppingcar.keySet()) {
			sum = sum + shoppingcar.get(key) * key.getPrice();
		}
		return sum;
	}
	
	public void clearShoppingCar() {
		shoppingcar.clear();
	}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM