首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

模板方法形式

2012-06-26 
模板方法模式模板方法模式:该模式主要思想是,通过抽象类(AbstractClass)对外提供调用入口【templateMethod(

模板方法模式

模板方法模式:该模式主要思想是,通过抽象类(AbstractClass)对外提供调用入口【templateMethod()】,该入口方法有抽象类实现,抽象类有一些抽象方法【operationOne()、operationTwo()】,是子类【】必须实现的。通过调用入口进行调用子类实现的抽象方法,也可以根据不同的参数调用不同的具体实现类。

?

示例代码如下:

package com.mkf.pattern;public abstract class AbstractClass {public final void templateMethod(){operationOne();operationTwo();}abstract public void operationOne();abstract public void operationTwo();}package com.mkf.pattern;public class ClassOne extends AbstractClass {@Overridepublic void operationOne() {System.out.println("ClassOne 的 operationOne 被调用");}@Overridepublic void operationTwo() {System.out.println("ClassOne 的 operationTwo 被调用");}}package com.mkf.pattern;public class ClassTwo extends AbstractClass {@Overridepublic void operationOne() {System.out.println("ClassTwo 的 operationOne 被调用");}@Overridepublic void operationTwo() {System.out.println("ClassTwo 的 operationTwo 被调用");}}package com.mkf.pattern;public class TestTemplateMethod {/** * @param args */public static void main(String[] args) {AbstractClass acOne = new ClassOne();acOne.templateMethod();AbstractClass acTwo = new ClassTwo();acTwo.templateMethod();}}

?运行结果:

ClassOne 的 operationOne 被调用
ClassOne 的 operationTwo 被调用
ClassTwo 的 operationOne 被调用
ClassTwo 的 operationTwo 被调用

热点排行