设计模式---模板方法模式

一、介绍

所谓模板方法模式,就是提供一种方法的模板来实现一种规范,其他人可以利用这个模板定义自己的逻辑。

在Java编程中的应用,主要就是通过接口或者抽象类来实现的,抽象类中可以把逻辑函数声明为final类型,表示不能被重写,即不能改变逻辑。在接口中定义一个模板方法,模板方法中调用接口中的其他方法,其他方法既可以提供默认实现,也可以不提供默认实现。当一个类实现这个接口的时候,就可以通过重写接口中的方法来实现自己的变成逻辑。

二、代码实例

接口:

java 复制代码
package code;

public interface myFirst {
    default void templete(){
        if(isTrue()){//如果判断成立,就执行逻辑1
            fun1();
        }
        fun2();
        fun3();
    }
    default void fun1(){
        System.out.println("逻辑1执行");
    }
    default void fun2(){
        System.out.println("逻辑2执行");
    }
    default void fun3(){
        System.out.println("逻辑3执行");
    }
    default boolean isTrue(){
        return true;//默认为true
    }
}
java 复制代码
package code;

public class myClass implements myFirst{
    @Override
    public void fun1() {
        System.out.println("我自己的实现1");
    }

    @Override
    public void fun2() {
        System.out.println("我自己的实现2");
    }

    @Override
    public void fun3() {
        System.out.println("我自己的实现3");
    }

    @Override
    public boolean isTrue() {
        return true;
    }
}
相关推荐
李广坤7 小时前
状态模式(State Pattern)
设计模式
李广坤8 小时前
观察者模式(Observer Pattern)
设计模式
李广坤9 小时前
中介者模式(Mediator Pattern)
设计模式
李广坤9 小时前
迭代器模式(Iterator Pattern)
设计模式
李广坤10 小时前
解释器模式(Interpreter Pattern)
设计模式
阿无,13 小时前
java23种设计模式之前言
设计模式
Asort14 小时前
JavaScript设计模式(八):组合模式(Composite)——构建灵活可扩展的树形对象结构
前端·javascript·设计模式
数据智能老司机14 小时前
数据工程设计模式——数据基础
大数据·设计模式·架构
笨手笨脚の16 小时前
设计模式-代理模式
设计模式·代理模式·aop·动态代理·结构型设计模式
Overboom1 天前
[C++] --- 常用设计模式
开发语言·c++·设计模式