购物车的设计:

package com.shop.cart.vo;import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;/*** 购物车对象* * @author Charlotte**/
public class Cart {// 购物项:key:商品pid, value:购物项private Map<Integer, CartItem> map = new LinkedHashMap<Integer, CartItem>();// Cart对象中有一个叫 cartItems 属性public Collection<CartItem> getCartItems() {return map.values();}// 购物总计:private double total;// getTotal方法public double getTotal() {return total;}// 购物车功能// 1. 将购物项添加到购物车public void addCart(CartItem cartItem) {// 判断购物车中是否已经存在该购物项/** *如果存在: *数量增加 *总计=总计+ 购物总计 *如果不存在: *向 map中添加购物项 *总计 = 总计 +购物项小计*/// 获得商品的 idInteger pid = cartItem.getProduct().getPid();// 判断是否存在该购物项if (map.containsKey(pid)) {// 存在CartItem _cartItem = map.get(pid);// 获得购物车中原来的购物项_cartItem.setCount(_cartItem.getCount() + cartItem.getCount());} else {// 不存在map.put(pid, cartItem);}// 设置总计的值total += cartItem.getSubtotal();}// 2.从购物车中移除购物项public void removeCart(Integer pid) {// 将购物项移除购物车CartItem cartItem = map.remove(pid);// 总计= 总计- 移除购物项的小计total -= cartItem.getSubtotal();}// 3.清空购物车public void clearCart() {// 将所有的购物项清空map.clear();// 将总计设置为0total = 0;}
}

购物项对象设计:

Package com.shop.cart.vo;import cn.itcast.shop.product.vo.Product;/*** 购物项对象* * @author Charlotte**/
public class CartItem {private Product product;// 购物项中的商品信息private int count; // 购买某种商品数量private double subtotal; // 购买某种商品的小计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;}// 小计自动计算public double getSubtotal() {return count * product.getShop_price();}/** public void setSubtotal(double subtotal) { this.subtotal = subtotal; }*/}

商城购物设计和购物项对象设计相关推荐

  1. php dao类设计,DAO数据访问对象设计 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架...

    关于DAO数据访问对象设计其实是关于GoFrame框架工程化实践中比较重要一块设计. DAO设计结合GoFrame的ORM组件性能和易用性都很强,可以极大提高开发和维护效率.看完本章节内容之后,小伙伴 ...

  2. 抽奖活动mysql表设计_购物商城数据库设计-商品表设计

    大家好,今天我们来设计一下购物商城的商品表. 我们的目标是表结构能够满足下面这张图的搜索: 在设计表之前,我们先来了解下商品中的两个概念:SPU和SKU SPU SPU(Standard Produc ...

  3. Android课程设计--网上购物商城

    Android的特征: 提供访问硬件的API函数,简化访问过程等 具有自己的运行时和虚拟机 提供了丰富的界面控件供使用者之间调用,加快用户界面的开发速度,保证Android平台上程序界面的一致性 提供 ...

  4. HTML5期末大作业:服装购物网站设计——粉色服装购物商城(4页) 服装购物商城网页设计作品 大学生购物专题网页设计作业模板 商店静态HTML网页模板下载

    HTML5期末大作业:服装购物网站设计--粉色服装购物商城(4页) 服装购物商城网页设计作品 大学生购物专题网页设计作业模板 商店静态HTML网页模板下载 常见网页设计作业题材有 个人. 美食. 公司 ...

  5. HTML网页设计结课作业:商城网站设计——节日礼品购物商城网站html(14页) HTML+CSS+JavaScript

    HTML5期末大作业:商城网站设计--节日礼品购物商城网站html((14页) HTML+CSS+JavaScript 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品 常见 ...

  6. HTML5期末大作业:医药用品购物网站设计——医药用品购物商城首页(1页) HTML+CSS+JavaScript HTML+CSS大作业_ 医药用品购物网页制作作业_医药用品购物页设计...

    HTML5期末大作业:医药用品购物网站设计--医药用品购物商城首页(1页) HTML+CSS+JavaScript HTML+CSS大作业: 医药用品购物网页制作作业_医药用品购物页设计- 常见网页设 ...

  7. Springboot母婴店购物系统9j5v8计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot母婴店购物系统9j5v8计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot母婴店购物系统9j5v8计算机毕业设计-课程设计-期末作业-毕设程序代 ...

  8. 学生网页作业HTML5期末大作业 静态购物网站设计——静态购物网站模板11页(前台+后台) HTML+CSS+JS

    HTML5期末大作业:静态购物网站设计--静态购物网站模板11页(前台+后台) HTML+CSS+JS 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. ...

  9. HTML5期末大作业:电商购物网站设计——仿品优购 (毕业设计含论文) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 学生电商网页作业...

    常见网页设计作业题材有 ​​个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服装. 体育. 化妆品. 物流. 环保. 书籍. 婚纱. 军 ...

最新文章

  1. 基于django的视频点播网站开发-step12-后台订阅功能
  2. Igraph包绘制network
  3. 优秀的Java开发人员必备的6个技能
  4. 3.非关系型数据库(Nosql)之mongodb:升降序排序,排序分页,$all,$in,$nin,$or,$nor, $exists,游标,更新(update,$set,$unset,$inc)
  5. 了解IT行业前沿应用,关注数据与算法之美
  6. python函数的作用降低编程复杂度_Python函数式编程
  7. JEECG 3.7.8 新版表单校验提示风格使用升级方法(validform 新风格漂亮,布局简单)
  8. OutOfMemoryError(内存溢出)解决办法
  9. 大公司病?记改一个文字颜色的过程
  10. 深度剖解“IF表达式”底层实现过程
  11. 【Android开发】Android 颜色透明度换算
  12. Oracle Study之-- enq:SQ contention等待事件
  13. 赚了李嘉诚2.7亿元
  14. 我们怎么样把pdf格式转换成dwg格式呢
  15. 天下会 - 搜索经验之网络搜索技巧总结
  16. c++ 中关于引用(1)
  17. c++一本通 1238一元三次方程求解
  18. 微信小程序入门案例-会议邀请函
  19. 基于Bluemix云平台的一个文本转语音应用
  20. Route命令使用详解

热门文章

  1. 如何安装java环境_如何安装java环境变量
  2. 华为在高端手机市场首尝被小米击败的滋味,这是一个信号
  3. android 进程被回收,Android开发进阶:Activity和进程的回收和状态恢复
  4. CSS性能优化的几个技巧
  5. Qt读取/写入Excel数据--QAxObject
  6. USB PD 等多协议快充方案
  7. Android 头像选择(拍照、相册裁剪),含7.0的坑
  8. 《领导沟通艺术与真实影响力》感想一
  9. C语言文件操作函数总结——超详细
  10. 英汉对照名言隽语(二)