1 建立抽象父类
public abstract class AbstractClass {
public abstract void primitiveOperation1();
public abstract void primitiveOperation2();
public void templateMethod() {
primitiveOperation1();
primitiveOperation2();
System.out.println("===");
}
}
2 建立两个实现子类
public class ConcreteClassA extends AbstractClass {
@Override
public void primitiveOperation1() {
System.out.println("具体类A方法1实现");
}
@Override
public void primitiveOperation2() {
System.out.println("具体类A方法2实现");
}
}
public class ConcreteClassB extends AbstractClass{
@Override
public void primitiveOperation1() {
System.out.println("具体类B方法1实现");
}
@Override
public void primitiveOperation2() {
System.out.println("具体类B方法2实现");
}
}
3 客户端调用:
public class Client {
public static void main(String[] args) {
AbstractClass a;
a =new ConcreteClassA();
a.templateMethod();
a= new ConcreteClassB();
a.templateMethod();
}
}
输出结果:
具体类A方法1实现
具体类A方法2实现
===
具体类B方法1实现
具体类B方法2实现
===
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法结构即可重定义该算法的某些特定步骤
也就是说,当我们要完成在某个细节层次一致的一个过程或者一系列步骤,但某个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式处理
分享到:
相关推荐
模板方法模式是设计模式中行为型模式的一种,它在软件工程中扮演着非常重要的角色,尤其是在Java编程中。模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。它允许子类不改变一个算法的结构即可重...
JAVA-设计模式-行为型模式-模板方法模式
### 设计模式之模板方法模式解析 #### 一、引言 在软件开发过程中,我们经常面临这样的场景:有一些步骤是固定的,而某些步骤则可能因具体实现而异。为了解决这类问题,设计模式中引入了一种叫做“模板方法模式”的...
设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板,能够提升代码的可读性、可维护性和复用性。而Qt4作为一个强大的开源库,提供了丰富的功能,使得开发者能够在多个操作系统上构建...
c++设计模式-行为型模式-模板方法模式;qt工程;c++简单源码; 模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重...
模板模式是一种行为设计模式,它在面向对象编程中扮演着重要的角色。此模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。这样,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤...
模板方法模式是一种行为设计模式,它允许在定义行为框架的同时,延迟部分具体步骤到子类中实现。这种模式主要用于在父类中定义算法的骨架,而将一些步骤的实现细节留给子类去完成,从而使得不同的子类可以重用相同的...
设计模式通常分为三类:创建型模式(如工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式),结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如...
Labview OOP Plug-in框架模板资料详解:包含设计模式之命令与工厂模式及应用、vipc安装包及操作手册,Labview OOP Plug-in框架模板:涵盖设计模式中的命令与工厂模式,含vipc安装包及操作手册,Labview OOP Plug-in...
模板模式是一种行为设计模式,它使你能在不破坏封装性的前提下,定义执行算法的框架,而将一些步骤延迟到子类中。这样,你就能创建一个可复用的框架,将具体步骤留给子类来实现。这个模式的核心思想是抽象类定义了一...
C++设计模式是一种在软件开发中经过验证的解决常见问题的方法论,它为软件开发提供了标准的解决方案。在本资源中,"C++设计模式-基于QT4开源跨平台开发框架 源码",我们将重点探讨如何在C++编程语言中结合QT4框架来...
例如,代理模式(Proxy Pattern)、单例模式(Singleton Pattern)、工厂方法模式(Factory Method Pattern)、抽象工厂模式(Abstract Factory Pattern)、适配器模式(Adapter Pattern)、模板方法模式(Template ...
模板方法模式(Template Method Pattern)是一种行为设计模式,它允许在父类中定义算法的框架,然后由子类提供具体的实现。这种模式的核心是“模板方法”,它在父类中定义了一个操作的步骤顺序,并将某些步骤声明为...
在设计模式中,模板方法模式中模板和生活中模板概念非常类似,下面让我们就详细介绍模板方法的定义,大家可以根据生活中模板的概念来理解模板方法的定义 1. 模板方法模式的定义 模板方法模式——在一个抽象类中定义...
模板方法模式是面向对象设计模式中的行为模式之一,它在Java等面向对象编程语言中有着广泛的应用。模板方法模式的主要思想是在一个抽象类中定义一个算法的骨架,而将一些步骤延迟到子类中实现。这样,子类可以重写...
设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题。这些模式是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位大师,通常被称为GoF(Gang of Four),在他们的经典著作...
**模板模式**是一种行为设计模式,它允许在父类中定义算法的骨架,而将一些具体步骤的实现延迟到子类中。这种模式主要用于在代码中定义一套算法的框架,并允许子类在不改变算法整体结构的情况下重定义特定的步骤。 ...
新模式-html网页模板, 我做了三年的.net开发了, 至今为止觉得是美工设计的最好的一款网页了, 只是参考,不能作为商业用途哈,如果是引起什么法律 纠纷,请不要来找我哦, 大家都是搞IT的,都明白这个道理哈,
这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者编写的指南。作者以形象生动的例子解释了23种经典的Java设计模式,使得复杂的概念变得更加易于理解。 首先,我们要...