模板方法设计模式

模板方法设计模式优势

解决方法中存在重复代码的问题

模板方法设计格式

1.定义一个抽象类

2.在里边定义两个方法,一个是模板方法,放在相同的代码里,一个是抽象方法;具体实现交给子类完成

3.模板方法建议使用final 关键字修饰,防止方法被修改

定义的抽象类

java 复制代码
//抽象类
public abstract class TestAbstract {

    //姓名
    public abstract void name();
    //班级
    public abstract void classAndGrade();




    //行为
    public final void behavior(){
        System.out.println("我是光明小学学生");
        name();
        classAndGrade();
        System.out.println("我是我爱我的学校");
    }

子类继承抽象类

java 复制代码
public class TestAbstract1 extends TestAbstract{
    @Override
    public void name() {
        System.out.println("我叫张三");
    }

    @Override
    public void classAndGrade() {
        System.out.println("我是三年级二班");
    }
}

方法执行的是父类封装好的模板方法

java 复制代码
        TestAbstract1 testAbstract1 = new TestAbstract1();
        testAbstract1.behavior();

运行效果

相关推荐
Pluchon3 小时前
Java个人综合项目——萌部落社区V2.0
java·python·spring·spring cloud·postman·idea
梦雨生生4 小时前
java开发工具(学习第一天)
java·开发语言·学习
她说可以呀4 小时前
Spring-ai-alibaba文生图
java·人工智能·spring
松仔log6 小时前
Java中级——组合和继承
android·java·开发语言
不才不才不不才6 小时前
Spring 源码系列(16): doDispatch 全流程——一次请求的主干链路
java·后端·spring
snow@li6 小时前
HikariCP:高性能数据库连接池全景深入梳理
java·数据库
sugar__salt7 小时前
Spring 三层架构与 IoC、依赖注入完全指南
java·spring boot·后端·spring·架构·maven·intellij-idea
edwarddamon7 小时前
Spring Cloud 配置热更新与 Bean 代理机制梳理
java·后端
Raas1008 小时前
MAIGateway,魔芋企业级AI网关的FinAPI成本竞争力设计
java·后端·网关·api网关·魔芋ai·finapi·mai gateway
evans在进步8 小时前
Spring AI 从入门到实战:用 Java 实现大模型对话与 Tool Calling
java·人工智能·spring