Java设计模式之模板模式
来源:互联网 发布:还有什么方式做淘宝客 编辑:程序博客网 时间:2024/06/06 18:47
一、定义
定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。简而言之,就是父类定义的抽象方法交由子类实,并定义了模板方法,给出了逻辑的骨架,而逻辑的组成就是父类的抽象方法,它们推迟到子类去实现。
二、 角色
1、 抽象类(AbstractClass):定义了抽象方法和模板方法,定义了算法的骨架。
2、 具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。
三、demo
1、抽象类(AbstractClass):以游戏为例,Game为抽象类,定义了start()、play()和end()三个抽象方法和模板方法game(),模板方法定义了抽象方法的执行逻辑,即定义了逻辑骨架,抽象方法推迟到子类实现;
package com.example.template;public abstract class Game { protected abstract void start(); protected abstract void play(); protected abstract void end(); /** * 模板方法 */ public void game(){ start(); play(); end(); }}
2、 具体类(ConcreteClass),继承抽象类,并实现抽象方法
package com.example.template;public class Lol extends Game{ @Override protected void start() { System.out.println("开始游戏"); } @Override protected void play() { System.out.println("打游戏"); } @Override protected void end() { System.out.println("结束游戏"); }}
3、客户类
package com.example.template;public class Client { public static void main(String[] args) { Game lol = new Lol(); lol.game(); }}
打印结果
开始游戏打游戏结束游戏
0 0
- java之设计模式---模板设计模式
- java设计模式之模板设计模式
- Java设计模式之模板设计模式
- Java设计模式之模板
- Java设计模式之模板方法模式
- Java模式设计之模板方法模式
- java设计模式之模板方法模式
- Java设计模式之模板方法模式
- JAVA-设计模式之模板方法模式
- Java--设计模式之模板方法模式
- java设计模式之模板方法模式
- 《Java设计模式》之模板方法模式
- JAVA设计模式之:模板方法模式
- java设计模式之模板模式
- 【java】设计模式之模板方法模式
- java设计模式之模板模式
- java设计模式之模板方法模式
- Java设计模式之模板方法模式
- ZOJ 2319 Beautiful People(最长单调递增子序列)(二维LIS)
- 知识图谱
- 自定义购物车控件,使用起来就是这么丝滑
- mysql5.7.17 多实例编译安装脚本
- 快速开发平台之公文签章、自定义报表的实现
- Java设计模式之模板模式
- 基于jsp+struts2的图片上传功能
- eclipse 关联源码的两种方式
- rails is_a?(String)或kind_of?(String)
- mysql 5.7安装 MySQL 服务无法启动。服务没有报告任何错误。
- android5.1的项目在跑GTS的时候,用新的GTS(版本:4.1 r1)工具,GTS跑不起来
- Glide使用之配置缓存
- Qt自定义对话框之查找对话框
- Linux下安装、配置、启动Apache