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

一、介绍

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

在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;
    }
}
相关推荐
数据知道1 小时前
Go语言设计模式:工厂模式详解
开发语言·设计模式·golang·go语言·工厂模式
懒羊羊不懒@3 小时前
JavaSe—泛型
java·开发语言·人工智能·windows·设计模式·1024程序员节
rookie_fly13 小时前
基于Vue的数字输入框指令
前端·vue.js·设计模式
Yeniden15 小时前
【设计模式】# 外观模式(Facade)大白话讲解!
java·设计模式·外观模式
Yeniden15 小时前
【设计模式】 组合模式(Composite)大白话讲解
java·设计模式·组合模式
Damon小智1 天前
鸿蒙元服务深度实践:跨端唤醒与状态共享的设计模式
华为·设计模式·harmonyos
shaominjin1231 天前
单例模式:设计模式中的“独一无二“之道
android·单例模式·设计模式
欠你一个bug1 天前
Java设计模式应用--装饰器模式
java·设计模式·装饰器模式
LoveXming1 天前
Chapter14—中介者模式
c++·microsoft·设计模式·中介者模式·开闭原则
崎岖Qiu1 天前
【设计模式笔记06】:单一职责原则
java·笔记·设计模式·单一职责原则