第6章 模板方法模式优秀课件.ppt
《第6章 模板方法模式优秀课件.ppt》由会员分享,可在线阅读,更多相关《第6章 模板方法模式优秀课件.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 skeleton of an alg
4、orithm 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:抽象类 ConcreteClass:具体子类
5、 第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模式分析典型的抽象类代码如下所示:典型的抽象类代码如下所示:public abstract c
8、lass AbstractClass public void templateMethod()/模板方法模板方法 primitiveOperation1();primitiveOperation2();primitiveOperation3();public void primitiveOperation1()/基本方法具体方法 /实现代码 public abstract void primitiveOperation2();/基本方法抽象方法 public void primitiveOperation3()/基本方法钩子方法 第12页,本讲稿共26页模板方法模式w模式分析典型的具体子类代码
9、如下所示:典型的具体子类代码如下所示:public class ConcreteClass extends AbstractClass public void primitiveOperation2()/实现代码 public void primitiveOperation3()/实现代码 第13页,本讲稿共26页模板方法模式w模式分析在模板方法模式中,由于面向对象的多态性,子类对象在模板方法模式中,由于面向对象的多态性,子类对象在运行时将覆盖父类对象,子类中定义的方法也将覆盖在运行时将覆盖父类对象,子类中定义的方法也将覆盖父类中定义的方法,因此程序在运行时,父类中定义的方法,因此程序在运行时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 模板方法模式优秀课件 模板 方法 模式 优秀 课件
限制150内