全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/北大青鸟中关村互联网关系模式简介11种关系模式第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类模板方法模式(Template Method)解释一下模板方法模式,北大青鸟中关村软件学院就是指:一个抽象类中,有一个主方法,再定义1.n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,先看个关系图:就是在AbstractCalculator类中定义一个主方法calculate,calculate()调用spilt()等,Plus和Minus分别继承AbstractCalculator类,北大青鸟中关村软件学院通过对AbstractCalculator的调用实现对子类的调用,看下面的例子:javaview plaincopy1. publicabstractclassAbstractCalculator2. 3. /*主方法,实现对本类其它方法的调用*/4. publicfinalintcalculate(Stringexp,Stringopt)5. intarray=split(exp,opt);6. returncalculate(array0,array1);7. 8. 9. /*被子类重写的方法*/10. abstractpublicintcalculate(intnum1,intnum2);11. 12. publicintsplit(Stringexp,Stringopt)13. Stringarray=exp.split(opt);14. intarrayInt=newint2;15. arrayInt0=Integer.parseInt(array0);16. arrayInt1=Integer.parseInt(array1);17. returnarrayInt;18. 19. javaview plaincopy1. publicclassPlusextendsAbstractCalculator2. 3. Override4. publicintcalculate(intnum1,intnum2)5. returnnum1+num2;6. 7. 北大青鸟中关村软件学院测试类:javaview plaincopy1. publicclassStrategyTest2. 3. publicstaticvoidmain(Stringargs)4. Stringexp=8+8;5. AbstractCalculatorcal=newPlus();6. intresult=cal.calculate(exp,+);7. System.out.println(result);8. 9. 北大青鸟中关村软件学院跟踪下这个小程序的执行过程:首先将exp和+做参数,调用AbstractCalculator类里的calculate(String,String)方法,在calculate(String,String)里调用同类的split(),之后再调用calculate(int ,int)方法,从这个方法进入到子类中,执行完return num1 + num2后,将值返回到AbstractCalculator类,赋给result,打印出来。正好验证了我们开头的思路。策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,北大青鸟中关村软件学院使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:图中ICalculator提供同意的方法,AbstractCalculator是辅助类,提供辅助方法,接下来,依次实现下每个类:首先统一接口:1. publicinterfaceICalculator2. publicintcalculate(Stringexp);3. 辅助类:1. publicabstractclassAbstractCalculator2. 3. publicintsplit(Stringexp,Stringopt)4. Stringarray=exp.split(opt);5. intarrayInt=newint2;6. arrayInt0=Integer.parseInt(array0);7. arrayInt1=Integer.parseInt(array1);8. returnarrayInt;9. 10. 三个实现类:1. publicclassPlusextendsAbstractCalculatorimplementsICalculator2. 3. Override4. publicintcalculate(Stringexp)5. intarrayInt=split(exp,+);6. returnarrayInt0+arrayInt1;7. 8. 1. publicclassMinusextendsAbstractCalculatorimplementsICalculator2. 3. Override4. publicintcalculate(Stringexp)5. intarrayInt=split(exp,-);6. returnarrayInt0-arrayInt1;7. 8. 9. 1. publicclassMultiplyextendsAbstractCalculatorimplementsICalculator2. 3. Override4. publicintcalculate(Stringexp)5. intarrayInt=split(exp,*);6. returnarrayInt0*arrayInt1;7. 8. 简单的测试类:1. publicclassStrategyTest2. 3. publicstaticvoidmain(Stringargs)4. Stringexp=2+8;5. ICalculatorcal=newPlus();6. intresult=cal.calculat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教学材料礼仪-第四章
- 养鹅技术试题及答案
- 2026年江苏省中小学编制教师招聘考试备考题库及答案详解
- 中国电波钟行业发展状况与前景态势研究研究报告
- 中国防干扰屏蔽材料市场销营销模式与竞争格局分析研究报告
- 2026重庆垫江县杠家镇人民政府招聘政法社工1人考试备考试题及答案详解
- 2026重庆市铜梁区平滩镇人民政府招聘敬老院院长1人考试备考试题及答案详解
- 中国铝制玻璃吸盘行业经营优势及前景趋势洞察研究报告
- 能源节约行业市场深度调研及发展趋势与投资战略研究报告
- 2026年福建厦门技师学院招聘事业单位人员7人笔试参考试题及答案详解
- 2025年黑龙江省高校毕业生“三支一扶”计划招募考试真题
- 广东省东莞市虎门2026年数学四年级下学期期末教学质量检测试题(含答案解析)
- 2026年全国《考评员》专业技能鉴定考试题库(综合版)
- 配电网同步测量技术及应用阅读记录
- 2026年哈密市公安局招聘警务辅助人员体能测试笔试备考题库及答案详解
- 2026年广西公需科目《人工智能国家战略与政策通识》题库
- 高级中式烹调师考试试题库含答案
- 2026年高中历史学业水平合格考试知识点归纳总结(复习必背)
- 2026年熔化焊接与热切割特种作业证考试题库及答案(含答案)
- 2026年北京市中考道德与法治试卷附真题附答案
- DB11/T 1413-2023民用建筑能耗标准
评论
0/150
提交评论