前言
实现对比
早绑定
晚绑定
定义
个人实现Java
类结构:
实现代码
- 实现框架接口 ```java package templateMethod;
/**
- 框架接口
- @author luming31864
@date 2021/05/24 / public interface Library { /*
主方法 */ public void run();
/**
步骤一 */ public void step1();
/**
步骤二 */ public void step2();
/**
- 步骤三 */ public void step3(); }
2. 定义通用的模板实现方法(采用抽象类)```javapackage templateMethod;/*** 抽象模板类* @description 用于定义通用方法或者作为例子* @date 2021/5/24* @author <li> luming31864 Create 1.0*/public class AbstractTemplateClass implements Library {@Overridepublic void run() {// TODO 定义主流程step1();step2();step3();}@Overridepublic void step1() {// TODO 定义模板实现方法System.out.println("步骤一。。。");}@Overridepublic void step2() {// TODO 定义模板实现方法System.out.println("步骤二。。。");}@Overridepublic void step3() {// TODO 定义模板实现方法System.out.println("步骤三。。。");}}
- 定义每个应用类(无个性化需求) ```java package templateMethod;
public class Application extends AbstractTemplateClass implements Library{
public static void main(String[] args) {// 多态-编译时运行Library library = new Application();// 直接使用通用方法library.run();}
}
显示结果:<br />4. 定义每个应用类(有个性化需求)```javapackage templateMethod;public class Application2 extends AbstractTemplateClass implements Library{public static void main(String[] args) {// 多态-编译时运行Library library = new Application2();// 直接使用通用方法library.run();}@Overridepublic void step1() {System.out.println("重写步骤一。。。");}}
显示结果:


