查看“商苑面馆:Java命令行版之 CartDao”的源代码
←
商苑面馆:Java命令行版之 CartDao
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==Dao层== [[文件:Java8-1.png]] ==实现步骤== ===建立接口CartDao=== 在包dao下建立抽象接口CartDao <nowiki>package dao; import entity.*; public interface CartDao { public void addFood(Food f1, Integer num);//添加商品 public void delFood(Food g);//删除商品 public void queryFood();//查询购物车内已放商品 //public Integer hasFood(Food g);//查询购物车内是否已有某件商品 //public void modifyFood(Food g,Integer num);//修改购物车内该种商品的数量 } </nowiki> ===建立接口的实现类=== 接口实现类可以用多种方式实现,ArrayList,LinkedList, MySQL等 这里我们用HashMap实现 ====接口实现类CartDaoMap==== <nowiki>package dao; import java.util.*; import entity.Food; import entity.Noodle; public class CartDaoMap implements CartDao { private HashMap<Food,Integer> f ; public CartDaoMap(){ //初始化购物车 this.f= new HashMap<>(); Food f1 = new Noodle("炸酱面",12.0,3,"不辣"); Food f2 =new Noodle("臊子面",14.0,2,"麻辣"); this.addFood(f1,3); this.addFood(f2,3); } public CartDaoMap(HashMap<Food,Integer> f){ this.f= f; } /** * 向购物车中添加商品 * @param g 向购物车中添加商品 * @return 值为空 */ public void addFood(Food g,Integer n){ this.f.put(g, n); } /** * 向购物车中删除商品 * @param Food 向购物车中删除商品 * @return 值为空 */ public void delFood(Food g){ //将数组中myFood条目对应的商品数量减为0 this.f.remove(g); } /** * 遍历查询购物车中的商品 * @param 值为空 * @return 值为空 */ public void queryFood(){ String s =this.toString();//调用本类的toString方法 System.out.println(s); } /** * 返回该类的字符串形式 * @return 返回该类的字符串形式 */ @Override public String toString() { String s=""; s +="购物车商品明细:\r\n"; //显示所有书籍 Set<Food> keys = f.keySet(); s += "***********************\r\n"; //遍历keyset,通过map.get(key)方法获得value的值 for(Food key : keys){ s +=key.toString() + "\t" +"选中数量:\t"+ f.get(key)+"\r\n"; } return s; } public static void main(String[] args) { } } </nowiki> ===编写测试代码=== 在CartDaoMap类的main方法中编写测试代码: <nowiki> public static void main(String[] args) { // TODO Auto-generated method stub CartDao f = new CartDaoMap();//用数组列表f初始化食物仓库foodset //查看购物车 System.out.println("查看购物车"); f.queryFood();//调用toString方法 //向购物车添加商品 Food f3 = new Noodle("刀削面",10.0,5,"微辣"); System.out.println("购买商品"+f3.getName()); f.addFood(f3, 1); f.queryFood(); //查看购物车 //取消购买 System.out.println("取消购买"); f.delFood(f3); f.queryFood();//调用toString方法 }</nowiki> [[文件:java7-46.png|500px]]
返回至
商苑面馆:Java命令行版之 CartDao
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息