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

一、介绍

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

在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;
    }
}
相关推荐
Larcher2 天前
AI Loop:让AI像人一样自主完成任务的核心机制
javascript·人工智能·设计模式
咖啡八杯3 天前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
:mnong3 天前
学习创建结构行为设计模式
设计模式
w_t_y_y3 天前
Agent设计模式(四)多模态融合模式(Multi-Modal Fusion)
设计模式
zhouhui0013 天前
订单状态的 if-else 地狱上线就崩——状态模式的工业级落地
设计模式
geovindu3 天前
go: Reactor Pattern
开发语言·后端·设计模式·golang·反应器模式
一只旭宝3 天前
【C++入门精讲22】常见设计模式
c++·设计模式
许彰午4 天前
38_Java设计模式之装饰器模式
java·设计模式·装饰器模式
geovindu4 天前
python: Reactor Pattern
开发语言·python·设计模式·反应器模式