设计模式之模板方法

来源:互联网 发布:类的定义 c语言 编辑:程序博客网 时间:2024/05/21 06:36
/*模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的
 * 结构即可重新定义该算法的某些特定步骤.
 * 
 * 我的个人理解就是把一些共同的行为搬到父类,把一些可变的不一样的留到子类中去实现.
 * 
 * 注:模板方法是通过巴布遍的行为搬移到超类,去除子类中的重复代码来体现他的优势.
 * 模板方法就是提供了一个很好的代码复用的平台.
 * 当不变的和可变的行为在方法的子类实现中混合在一起时候,不变的行为就会在子类中重复出现,我们通过模板方法把这些行为
 * 搬移到单一的地方,这样就帮助子类摆脱重复的不变行为的纠缠.
 * 

 * */

package com.zwy;public class TemplateMethod {/** * main(这里用一句话描述这个方法的作用) * (这里描述这个方法适用条件 – 可选) * @param args *void * @exception * @since  1.0.0 */public static void main(String[] args) {BaseTemplate base = new ConcretateTemplate();base.run();}}class BaseTemplate {public void run1(){System.out.println(this.getClass().getName() +"执行run1");};public void run2(){System.out.println(this.getClass().getName() + "执行run2");}public void run(){System.out.println("开始执行模板开头");this.run1();System.out.println("模板执行一般了");this.run2();System.out.println("模板执行结束了");}}class ConcretateTemplate extends BaseTemplate {public void run1(){System.out.println("ConcretateTemplate" +"执行run1");};public void run2(){System.out.println("ConcretateTemplate" + "执行run2");}}


0 0
原创粉丝点击