【设计模式专题之单例模式】1.小明的购物车bb
| 2024-5-6
0  |  阅读时长 0 分钟
From
卡码网
Status
回头复习下
Date
Apr 3, 2024
Tags
设计
单例模式
Difficulty
中等

题面

题目描述

小明去了一家大型商场,拿到了一个购物车,并开始购物。请你设计一个购物车管理器,记录商品添加到购物车的信息(商品名称和购买数量),并在购买结束后打印出商品清单。(在整个购物过程中,小明只有一个购物车实例存在)。

输入描述

输入包含若干行,每行包含两部分信息,分别是商品名称和购买数量。商品名称和购买数量之间用空格隔开。

输出描述

输出包含小明购物车中的所有商品及其购买数量。每行输出一种商品的信息,格式为 "商品名称 购买数量"。

输入示例

Apple 3 Banana 2 Orange 5

输出示例

Apple 3 Banana 2 Orange 5

提示信息

本道题目请使用单例设计模式:
使用私有静态变量来保存购物车实例。
使用私有构造函数防止外部直接实例化。
 

思路

notion image
 

题解

💡
LinkedHashMap 实例被用作购物车的实际存储结构,而 Map 接口被用作变量的类型声明。这种做法是为了提高代码的灵活性和可维护性。
通过将 cart 变量声明为 Map<String, Integer> 类型,而不是具体的 LinkedHashMap<String, Integer> 类型,可以使代码更具通用性。这样,如果以后需要更改购物车的实现,例如从 LinkedHashMap 切换到 HashMap 或其他实现,只需更改 ShoppingCartManager 类的构造函数即可,而不需要修改其他部分的代码。
 

CPP:

Loading...
目录