编程语言
首页 > 编程语言> > 购物车程序的面向对象设计(Version1.0)

购物车程序的面向对象设计(Version1.0)

作者:互联网

目录

购物车程序的面向对象设计(Version1.0)

0. 初步的目的:

1. 人员分工。

大家一起做的工作有:
前期调查以及类框架设计的考量。

林进源 完成商品总类的设计和子类的设计,负责UML图的绘制,负责Shop类的设计。
骆锟宏 完成ShoppingCart类的书写,完成对商品类和子类的修正,完成MainOperating类,完成博客的撰写。

2. 前期调查。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

3. 系统功能结构图。

该部分属于商城类的部分,由于本次时间等因素的原因,我们暂时把目光聚焦在购物车类上,这个待实现。
在本环节的展示过程中我们对商品上架的部分暂时以在Main类中直接新建对应的商品实例来代替。
goodsID的形式也暂时以直接给定的形式来定义。
在这里插入图片描述

4. 系统描述

一段用来描述系统功能与流程的文字,用红色字代表可能的对象(名词)或属性,用蓝色字代表可能的方法(动词)。

首先, 本系统创建了一个购物车的实例。
其次, 本系统通过在流程控制模块中声明并创建了book,clothing,eProducts,food这四个商品。

5. UML类图

类的关键属性与方法、类与类之间的关系。每个类的功能描述。可使用ProcessOn绘制。

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

可选:哪里体现了继承与多态。

7. 项目包结构与关键代码。

7.1 项目的包结构

(为什么要这样设计包结构)

在这里插入图片描述
基于我们前期对现在已有购物网站的调查得出从后端功能实现角度有两条主要的主线:

7.2 主要功能

(如网购物车添加、删除商品)的流程图与关键代码。

package shoppingCar;

import java.util.HashMap;//引入哈希表作为购物车的数据结构基础。
import java.math.BigDecimal;//用来表示大数。
import product.*;//引用product包

public class shoppingCar {
	private BigDecimal totalPrice = BigDecimal.valueOf(0.0);
	public HashMap<String, Commodity> ShoppingCar = new HashMap<>();

	public void AddIntoSPC(Commodity commodity) {
		if (!ShoppingCar.containsKey(commodity.getGoodsID()))// 若商品不存在
		{
			ShoppingCar.put(commodity.getGoodsID(), commodity);
		}
		commodity.setNumb(commodity.getNumb() + 1);// 商品数量加一
	}

	public void GetTotalPrice() {
		for (Commodity commodity : ShoppingCar.values()) {
			totalPrice = totalPrice.add(commodity.getPrice().multiply(BigDecimal.valueOf(commodity.getNumb())));
		}
		System.out.println("The total price is:" + totalPrice);
	}

	public void ShowSPC() {//展示购物车
		if (ShoppingCar.isEmpty()) {
			System.out.println();
			System.out.println("---------------------------------------------------------------------------");
			System.out.println("您的购物车当前为空~");
			System.out.println("---------------------------------------------------------------------------");
			System.out.println();
		} else {
			int i = 1;
			System.out.println();
			System.out.println("---------------------------------------------------------------------------");
			for (Commodity commodity : ShoppingCar.values()) {
				System.out.println("NO." + i + " " + commodity.toString());
				i++;
			}
			System.out.println("---------------------------------------------------------------------------");
			System.out.println();
		}

	}

	public void ClearSPC() {
		ShoppingCar.clear();
		System.out.println("———清空购物车完毕!———");
	}
}

7.3 特点

标签:Version1.0,commodity,面向对象,System,购物车,商品,println,out
来源: https://www.cnblogs.com/luoqianshi/p/15437045.html