模板方法模式
编辑教程Java设计模式 - 模板方法模式
在模板模式中,父抽象类公开几个抽象方法供子类实现。在父抽象类中有另一个方法或几个方法使用抽象方法来实现业务逻辑。
抽象方法通常用于父类所需的每个步骤。
例如,为了使用新的软件,我们需要下载,安装,配置和运行。如果我们要使用模板模式来编码逻辑,我们将创建一个父类如下。
abstract class UseSoftware{
abstract void download();
abstract void install();
abstract void configuration();
abstract void run();
public void useNewSoftware(){
download();
install();
configuration();
run();
}
}
对于使用不同的软件,我们只需要从上面的抽象类继承并提供详细的实现。
模板模式是一种行为模式。
例子
abstract class Software {
abstract void initialize();
abstract void start();
abstract void end();
//template method
public final void play(){
//initialize
initialize();
//start
start();
//end
end();
}
}
class Browser extends Software {
@Override
void end() {
System.out.println("Browser Finished!");
}
@Override
void initialize() {
System.out.println("Browser Initialized!.");
}
@Override
void start() {
System.out.println("Browser Started.");
}
}
class Editor extends Software {
@Override
void end() {
System.out.println("Editor Finished!");
}
@Override
void initialize() {
System.out.println("Editor Initialized!");
}
@Override
void start() {
System.out.println("Editor Started!");
}
}
public class Main {
public static void main(String[] args) {
Software s1 = new Browser();
s1.play();
s1 = new Editor();
s1.play();
}
}
上面的代码生成以下结果。
Browser Initialized!
Browser Started.
Browser Finished!
Editor Initialized!
Editor Started!
Editor Finished!
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟