如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
设计模式实验报告学院:信息学院专业:计算机班级:2010级2班姓名:张笑林学号:20104785指导教师:王鲁目录TOC\o"1-3"\h\uHYPERLINK\l_Toc1435一、实例PAGEREF_Toc1435-3-HYPERLINK\l_Toc24239实例1:模拟公司报价系统(策略模式)PAGEREF_Toc24239-3-HYPERLINK\l_Toc240411.UML图:PAGEREF_Toc24041-3-HYPERLINK\l_Toc177362源代码:PAGEREF_Toc17736-3-HYPERLINK\l_Toc47903.运行截图:PAGEREF_Toc4790-5-HYPERLINK\l_Toc18368实例2:求数的均值、方差、统计数字(装饰模式)PAGEREF_Toc18368-6-HYPERLINK\l_Toc63551.UML图:PAGEREF_Toc6355-6-HYPERLINK\l_Toc154742源代码:PAGEREF_Toc15474-6-HYPERLINK\l_Toc58253.运行结果:PAGEREF_Toc5825-9-HYPERLINK\l_Toc23360实例3:登陆控制(门面模式)PAGEREF_Toc23360-9-HYPERLINK\l_Toc273101.UML图:PAGEREF_Toc27310-9-HYPERLINK\l_Toc245922.源代码PAGEREF_Toc24592-9-HYPERLINK\l_Toc96223.运行截图PAGEREF_Toc9622-15-HYPERLINK\l_Toc29172二、总结PAGEREF_Toc29172-17-一、实例实例1:模拟公司报价系统(策略模式)1.UML图:2源代码://抽象策略类publicabstractclassstrategy{publicabstractdoublegetprice(inty);//抽象方法取得报价}//具体策略类1---用于得到老客户的报价publicclassstrategy1extendsstrategy{publicdoublegetprice(inty){if(y==1)return1.00;//第一类客户不可获得优惠else{if(y==2)return0.95;//第二类客户可获得0.05的优惠elsereturn0.90;//第三类客户可获得0.10的优惠}}}//具体策略类2---用于得到累计订单较多客户的报价publicclassstrategy2extendsstrategy{publicdoublegetprice(intm){if(m==1)return1.00;else{if(m==2)return0.97;else{return0.93;}}}}//具体策略类3----用于得到单次订单数量较大的客户的报价publicclassstrategy3extendsstrategy{publicdoublegetprice(inta){if(a==1)return1.00;else{if(a==2)return0.94;elsereturn0.89;}}}//具体策略类4----用于得到报价人员职位不同而产生的不同报价publicclassstrategy4extendsstrategy{publicdoublegetprice(intx){if(x==1)return1.00;if(x==2)return0.97;elsereturn0.95;}}//环境类publicclasscontext{strategys;publiccontext(strategys){this.s=s;}publicdoublegetresult(inty){returns.getprice(y);}}3.运行截图:=1\*GB3\*MERGEFORMAT①通过点击单选按钮和选择下拉菜单的选项可以提交用户信息=2\*GB3\*MERGEFORMAT②显示计算