设计模式之模版方法模试
模板方法模式
模板方法模式比较简单, 其实就是对一些不可变的业务进行封装, 对可变的部分提供扩展。
那扩展当然就是接口或者抽象类了。 但考虑到又有不可变的部分, 所一抽象类就成了不二的选择。
一个抽象模板类通常包括
1. 基本方法
2. 模板(abstract)方法
那扩展当然就是接口或者抽象类了。 但考虑到又有不可变的部分, 所一抽象类就成了不二的选择。
一个抽象模板类通常包括
1. 基本方法
2. 模板(abstract)方法
Java 示例代码
package com.picc.cl;
public abstract class TemplateMethod {
/**定义一些抽象行为,放到子类去实现*/
abstract void getUp();//起床
abstract void faceWash();//洗脸
abstract void eat();//吃饭
abstract void startWork();//上班
/**模板方法,给出了逻辑的骨架,而逻辑的组成是一些相应的抽象操作,它们都推迟到子类实现*/
public void TemplateMethodTotal(){
getUp();//起床
faceWash();//洗脸
eat();//吃饭
startWork();//上班
}
public static void main(String[] args) {
TemplateMethod method = new ZS();
method.TemplateMethodTotal();
}
}
class ZS extends TemplateMethod{
@Override
void eat() {
System.out.println("张三吃饭");
}
@Override
void faceWash() {
System.out.println("张三洗脸");
}
@Override
void getUp() {
System.out.println("张三起床");
}
@Override
void startWork() {
System.out.println("张三开始工作");
}
}
运行结果
张三起床
张三洗脸
张三吃饭
张三开始工作
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步