精品:策略模式实验报告可编辑

精品:策略模式实验报告可编辑

ID:44651389

大小:107.49 KB

页数:5页

时间:2019-10-24

精品:策略模式实验报告可编辑_第1页
精品:策略模式实验报告可编辑_第2页
精品:策略模式实验报告可编辑_第3页
精品:策略模式实验报告可编辑_第4页
精品:策略模式实验报告可编辑_第5页
资源描述:

《精品:策略模式实验报告可编辑》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《软件开发实践》实验报告实验一策略模式一、实验目的:1.理解策略模式的基本理论2.掌握策略模式的使用方法实验内容:1.模式定义:策略模式定义了一系列的算法,并将每一个算法封装起來,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。BookOrder・bookID:int・price:double・type:String-amount:int-strategy:Discountstrategy0?Discountstrategy♦«Getter»♦«Setter»♦«Getteo>令«Setter»♦«Getter»令«Setter»令«Getter»+

2、«Setter»getBookID0:intsetBookID(intnewBookID):voidgetPrice0:doublesetPrice(doublenewPrice):voidgetAmount0:intsetAmount(intnewAmount):voidgetlype0:StringsetType(StringnewType):voidgetOrderKloney0:doublesetDiscountStrategy0:void*compute(intamount,doubleprice):doubleComputerDiscountStfategyB

3、ookCart-list:AnayList♦addBookOrder(BookOrderorder):void♦deletBookOrder(BookOrderorder):void♦payBil0:double00.1♦«lmplement»compute(intamount,doubleprice):doubleLanguageDiscountStrate^y♦«lmp!ement»compute(Intamount,doubleprice):double2.模式练习:设一个网上书店,该系统屮所有的计算机类图书每本都有10%的折扣,所有的语言类图书何本都有两元的折扣,

4、小说类图书侮100元有10元的折扣。3・三、实验结果1.开发环境:VS.2(X)82.主耍源代码:publicabstractclassCharacter{WeaponBehaviorweaponBehavior;publicCharacter(){};publicabstractvoiddisplay();publicvoidfight()//委托给行为类weaponBehavior•useWeapon();}publicvoidsetWeaponBehavior(WeaponBehaviorwb)weaponBehavior=wb;}}publicclassKinge

5、xtendsCharacter{publicKing(){publicvoiddisplay(){System.out.print「King:n);}}publicclassQueenextendsCharacter{publicQueen(){weaponBehavior=newKnifeBehavior();}publicvoiddisplay(){System.out.print(HQueen:H;}}publicclassKnightextendsCharacter{publicKnight()weaponBehavior=newBowAndArrowBehavi

6、or();}publicvoiddisplay(){System,out.print("Knight:11);}}publicclassTrollextendsCharacter{publicTroll(){weaponBehavior=newAxeBehavior();}publicvoiddisplay(){System.out:.print(nTroll:n);}}publicinterfaceWeaponBehaviorpublicvoiduseWeapon();publicclassAxeBehaviorimplementsWeaponBehavior{publ

7、icvoiduseWeapon(){System.out.printIn(n!(AxeBehavior)11);}}publicclassBowAndArrowBehaviorimplementsWeaponBehavior{publicvoiduseWeapon(){System.out.printIn(n!(BowAndArrowBehavior)H);}}implementsWeaponBehavior(KnifeBehavior)n);publicclassKnifeBehavior{publicvoiduseWeap

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。