6 Template Method(模板方法).ppt
《6 Template Method(模板方法).ppt》由会员分享,可在线阅读,更多相关《6 Template Method(模板方法).ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、TemplateMethod(模板方法)实际处理交给子类定义n这种设计模式大家都在用,可能没有上升到理论层面而已。n这个模式仅仅使用继承关系n继承关系由于自身的缺陷,被扣上了“罪恶”的帽子n使用委托关系代替继承关系n尽量使用接口实现而不是抽象类继承n等等n合理利用继承关系,能对系统设计起到很好的作用定义n定义一个操作中的算法的骨架,而将一些步骤延迟到子类中n子类可以不改变算法结构,重新定义该算法的某些特定步骤n算法结构可以理解为根据需求设计出来的业务流程,特定步骤即是那些可能在内容上存在变数的环节n把不变行为搬移到超类,去除子类中的重复代码,提供了一个代码复用平台ThedefinitionnD
2、efinetheskeletonofanalgorithminanoperation,deferringsomestepstosubclasses.TemplateMethodletssubclassesredefinecertainstepsofanalgorithmwithoutchangingthealgorithmsstructure.定义nAbstractClass:抽象类n定义一个到多个抽象的方法,供具体子类来实现n实现一个模板方法,来定义一个算法的骨架n该模板方法可以调用前面的抽象法法,也可调用其他方法nConcreteClass:具体子类n实现父类中的抽象方法,以完成算法终与特
3、定子类相关的步骤定义例子1n反复输出5次同一字符或字符串类、接口清单名称名称说明说明AbstractDisplay 只实现display方法的抽象类CharDisplay实现open,print,close方法的子类StringDisplay实现open,print,close方法的子类AbstractDisplay类n具有open,print,close,display等方法的类nOpen,print,close是抽象方法nDisplay方法被实现,其处理行为:n调用open方法n调用5次print方法n调用close方法AbstractDisplay类npublicabstractclas
4、sAbstractDisplaynpublicabstractvoidopen();npublicabstractvoidprint();npublicabstractvoidclose();npublicabstractvoiddisplay()nopen();nfor(inti=0;i5;i+)nprint();nnclose()nnCharDisplay类npublicclassCharDisplayextendsAbstractDisplaynprivateCharch;nPublicCharDisplay(Charch)nthis.ch=ch;nnpublicvoidopen()nS
5、ystem.out.println(“”);nnStringDisplay类npublicclassStringDisplayextendsAbstractDisplaynprivateStringstring;nPublicStringDisplay(Stringstring)nthis.string=string;nnpublicvoidopen()nprintLine();nStringDisplay类npublicvoidprint()nSystem.out.println(“|”+string+”|”);nnpublicvoidclose()nprintLine();nStringD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Template Method模板方法 Method 模板 方法
限制150内