第6章 模板方法模式优秀PPT.ppt
《第6章 模板方法模式优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第6章 模板方法模式优秀PPT.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 模板方法模式现在学习的是第1页,共26页本章教学内容w模板方法模式 模式动机与定义模式动机与定义 模式结构与分析模式结构与分析 模式实例与解析模式实例与解析 模式效果与应用模式效果与应用操作流程包含步骤!操作流程包含步骤!操作流程包含步骤!操作流程包含步骤!现在学习的是第2页,共26页模板方法模式w模式动机现在学习的是第3页,共26页模板方法模式w模式动机模模板板方方法法模模式式是是基基于于继继承承的的代代码码复复用用基基本本技技术术,模模板板方方法法模模式式的的结结构构和和用用法法也也是是面面向向对对象象设设计计的的核核心心之之一一。在在模模板板方方法法模模式式中中,可可以以将将相相
2、同同的的代码放在父类中,而将不同的方法实现放在不同的子类中代码放在父类中,而将不同的方法实现放在不同的子类中。在在模模板板方方法法模模式式中中,我我们们需需要要准准备备一一个个抽抽象象类类,将将部部分分逻逻辑辑以以具具体体方方法法以以及及具具体体构构造造函函数数的的形形式式实实现现,然然后后声声明明一一些些抽抽象象方方法法来来让让子子类类实实现现剩剩余余的的逻逻辑辑。不不同同的的子子类类可可以以以以不不同同的的方方式式实实现现这这些些抽抽象象方方法法,从从而而对对剩剩余余的的逻逻辑辑有有不不同同的的实实现现,这这就就是是模模板板方方法法模模式式的的用用意意。模模板板方方法法模模式式体体现现了面
3、向对象的诸多重要思想,是一种使用频率较高的模式。了面向对象的诸多重要思想,是一种使用频率较高的模式。现在学习的是第4页,共26页模板方法模式w模式定义模板方法模式模板方法模式(Template Method Pattern):定义一:定义一个操作中个操作中算法的骨架算法的骨架,而将一些步骤,而将一些步骤延迟到子类延迟到子类中,模中,模板方法使得子类板方法使得子类可以不改变一个算法的结构即可重定义可以不改变一个算法的结构即可重定义该算法的某些特定步骤该算法的某些特定步骤。现在学习的是第5页,共26页模板方法模式w模式定义Template Method Pattern:Define the ske
4、leton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithms structure.Frequency of use:medium现在学习的是第6页,共26页模板方法模式w模式结构现在学习的是第7页,共26页模板方法模式w模式结构模板方法模式包含如下角色:模板方法模式包含如下角色:AbstractClass:抽
5、象类 ConcreteClass:具体子类 现在学习的是第8页,共26页模板方法模式w模式分析模模板板方方法法模模式式是是一一种种类类的的行行为为型型模模式式,在在它它的的结结构构图图中中只只有有类类之之间间的继承关系,没有对象关联关系的继承关系,没有对象关联关系。在在模模板板方方法法模模式式的的使使用用过过程程中中,要要求求开开发发抽抽象象类类和和开开发发具具体体子子类类的的设设计计师师之之间间进进行行协协作作。一一个个设设计计师师负负责责给给出出一一个个算算法法的的轮轮廓廓和和骨骨架架,另另一一些些设设计计师师则则负负责责给给出出这这个个算算法法的的各各个个逻逻辑辑步步骤骤。实实现现这这些
6、些具具体体逻逻辑辑步步骤骤的的方方法法称称为为基基本本方方法法(Primitive Method),而而将将这这些些基基本本法法方方法法汇汇总总起起来来的的方方法法称称为为模模板板方方法法(Template Method),模模板板方方法模式的名字从此而来。法模式的名字从此而来。现在学习的是第9页,共26页模板方法模式w模式分析模板方法:一个模板方法是模板方法:一个模板方法是定义在抽象类中的、把基本操作方法组定义在抽象类中的、把基本操作方法组合在一起合在一起形成一个总算法或一个总行为的方法。形成一个总算法或一个总行为的方法。基本方法:基本方法是基本方法:基本方法是实现算法各个步骤的方法实现算法
7、各个步骤的方法,是模板方法的组,是模板方法的组成部分。成部分。抽象方法抽象方法(Abstract Method)具体方法具体方法(Concrete Method)钩子方法钩子方法(Hook Method):“挂钩挂钩”方法和空方法方法和空方法现在学习的是第10页,共26页模板方法模式w模式分析钩子方法钩子方法(Hook Method)public void template()open();display();if(isPrint()print();public boolean isPrint()return true;现在学习的是第11页,共26页模板方法模式w模式分析典型的抽象类代码如下所
8、示:典型的抽象类代码如下所示:public abstract class AbstractClass public void templateMethod()/模板方法模板方法 primitiveOperation1();primitiveOperation2();primitiveOperation3();public void primitiveOperation1()/基本方法具体方法 /实现代码 public abstract void primitiveOperation2();/基本方法抽象方法 public void primitiveOperation3()/基本方法钩子方法
9、现在学习的是第12页,共26页模板方法模式w模式分析典型的具体子类代码如下所示:典型的具体子类代码如下所示:public class ConcreteClass extends AbstractClass public void primitiveOperation2()/实现代码 public void primitiveOperation3()/实现代码 现在学习的是第13页,共26页模板方法模式w模式分析在模板方法模式中,由于面向对象的多态性,子类对象在模板方法模式中,由于面向对象的多态性,子类对象在运行时将覆盖父类对象,子类中定义的方法也将覆盖在运行时将覆盖父类对象,子类中定义的方法也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 模板方法模式优秀PPT 模板 方法 模式 优秀 PPT
限制150内