模板是指在薄片塑料板上面写字后挖空,再使用毛笔或色笔涂满挖空部分,就能看到纯手工而以不失工整的字样,看到模板上的挖空形状,马上就知道最后会变出什么样子的字,不过实际上所显现出来的字样还是要依所使用的画笔种类而定.拿黑色签字笔当画笔,结果当然就是签字笔的字样;当用铅笔来画,得到的也只会是灰黑色的铅笔字;如果用五颜六色的彩色笔,自然能创出让人眼花的多色字.但是,无论使用哪种文具,制作出来的字样都还是脱不了模板上已经固定的形状。
package template;
/*
* 抽象类,充当模板角色
* @author administrator
*
*/
public abstract class Template {
//由子类实现的抽象方法
public abstract void open();
public abstract void print();
public abstract void close();
//抽象类实现的方法,final可以保证在子类不会被修改
public final void display() {
open(); //先open...
for(int i=0; i < 5; i++) { //反复输出5次
print();
}
close(); //输出完毕,close
}
}
package template;
/*
* 类B,实现了三抽象方法,继承了display的方法,先执行open,在执行print,再执行close;
*/
public class CharDisplay extends Template {
private char ch;
public CharDisplay(char ch) {
this.ch = ch;
}
public void close() {
System.out.print(">>");
}
public void open() {
System.out.print("<<");
}
public void print() {
System.out.print(ch);
}
}
package template;
/*
* 类A,实现了三抽象方法,继承了display的方法,先执行open,在执行print,再执行close;
*/
public class StringDisplay extends Template {
private String s;
public StringDisplay(String s) {
this.s = s;
}
public void close() {
System.out.println("--------------");
}
public void open() {
System.out.println("--------------");
}
public void print() {
System.out.println(s);
}
}
package template;
public class Test {
public static void main(String[] args) {
/*
* 通过接口构造两个不同的实现类对象,执行了同样的模板方法,只是内容不同
*/
Template t1 = new CharDisplay('S');
Template t2 = new StringDisplay("helloWold");
t1.display();
System.out.println();
t2.display();
}
}
参考 http://blog.csdn.net/aaaaaaaa0705/article/details/6281759
- 大小: 31.9 KB
分享到:
相关推荐
代理模式(Proxy Pattern)、单例模式(Singleton Pattern)、工厂方法模式(Factory Method Pattern)、抽象工厂模式(Abstract Factory Pattern)、适配器模式(Adapter Pattern)、模板方法模式(Template Method...
模板方法模式是设计模式中行为型模式的一种,它在软件工程中扮演着非常重要的角色,尤其是在Java编程中。模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。它允许子类不改变一个算法的结构即可重...
在"template-method-demo"这个示例中,我们可以预见到它将展示如何在Java中应用模板方法模式。这个压缩包可能包含以下内容: 1. 一个抽象类(例如:`AbstractClass`),它定义了模板方法。在这个类中,可能会有一个...
包括责任链模式(Chain of Responsibility)、命令模式(Command)、解释器模式(Interpreter)、迭代器模式(Iterator)、中介者模式(Mediator)...Strategy)、模板方法模式(Template Method)和访问者模式(Visitor)...
3. **模板方法(Template Method)**:这是在抽象类中定义的方法,它调用了一个或多个钩子方法(即抽象方法或可选的具体方法)。模板方法执行整体算法的顺序,并且通常在最后调用钩子方法以完成算法的定制部分。 4....
行为型模式则关注对象之间的通信和职责分配,如观察者(Observer)、模板方法(Template Method)和策略(Strategy)模式。 这篇文章可能涵盖了以上各种模式的详细解释,包括它们的目的、工作原理、优缺点以及如何...
10. 模板方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 11. 访问者模式(Visitor):表示对一个对象结构进行操作的算法。 学习Java设计模式不仅能提升编程技能,还能帮助...
### 设计模式之模板方法模式解析 #### 一、引言 在软件开发过程中,我们经常面临这样的场景:有一些步骤是固定的,而某些步骤则可能因具体实现而异。为了解决这类问题,设计模式中引入了一种叫做“模板方法模式”的...
3. **模板方法模式(Template Method)**:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。`Template`目录下的代码可能展示了如何定义基本...
行为型设计模式如策略(Strategy)、模板方法(Template Method)、观察者(Observer)、命令(Command)、迭代器(Iterator)、访问者(Visitor)、状态(State)、职责链(Chain of Responsibility)、解释器...
Java设计模式是软件工程中的一种最佳实践,它提供了一种在特定情况下解决常见问题的标准化方法。设计模式不是具体的代码或库,而是一种通用解决方案的描述,可以应用于各种编程语言,包括Java。在这个名为"JAVA ...
《设计模式——Java语言中的应用》是一本专为Java开发者深入理解面向对象设计而编写的经典书籍。设计模式是软件工程领域中经过实践验证的、解决常见问题的有效方案,它们代表了在特定上下文中,针对特定问题的最优...
模板方法模式是一种行为设计模式,它允许在定义行为框架的同时,延迟部分具体步骤到子类中实现。这种模式主要用于在父类中定义算法的骨架,而将一些步骤的实现细节留给子类去完成,从而使得不同的子类可以重用相同的...
模板方法模式(Template Method)定义操作中的算法骨架,而将一些步骤延迟到子类中;还有职责链模式(Chain of Responsibility),使得多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。 4. ...
模板方法模式(Template Method)定义了一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在"设计模式-可复用面向对象软件的基础"这个主题中,...
3. **行为型模式**:包括策略(Strategy)、模板方法(Template Method)、观察者(Observer)、迭代器(Iterator)、访问者(Visitor)、责任链(Chain of Responsibility)、命令(Command)、备忘录(Memento)、...
16. **模板方法模式(Template Method Pattern)**:在抽象类中定义了一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 17. **状态模式(State...
模板方法模式 (Template Method Pattern) 模板方法模式是一种行为型模式,它定义了一个操作中的算法骨架,将一些步骤延迟到子类中。模板方法让子类可以重新定义算法的某些步骤,而不改变算法的整体结构。这种模式...
本资源“设计模式--java版.rar”提供了一种深入理解和应用Java设计模式的方式。 在Java开发中,设计模式主要分为三大类:创建型模式、结构型模式和行为型模式。创建型模式如单例(Singleton)、工厂方法(Factory ...