模板方法设计模式

模板方法设计模式优势

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

模板方法设计格式

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();

运行效果

相关推荐
青山木8 分钟前
一把 Redis 分布式锁,踩透四个坑:锁争抢、僵尸锁、锁过期、锁丢失
java·数据库·redis·后端
Java内核笔记30 分钟前
万字避坑!Spring Boot 3.x 升 4.0 最全升级指南(附 Migration Checklist,建议收藏⭐)
java·后端
安卓修改大师1 小时前
安卓修改大师 vs MT管理器:反编译工具终极对决与全景解析
android·人工智能·机器翻译
大辉狼_音频架构1 小时前
Vol.01 高频设计模式
设计模式
cfm_29141 小时前
SpringBoot启动原理
java·spring boot·spring
程序员小八7772 小时前
从 0 学习 MySQL 索引——7 大核心精讲
android·学习·mysql
漫随流水2 小时前
Java——springboot web案例
java·开发语言·spring boot
从此以后自律2 小时前
Java Object 类常用方法全讲解
java·开发语言
念何架构之路2 小时前
Docker 容器状态机 学习
java·学习·docker
你有我备注吗2 小时前
SQL学习之查询
java·sql·学习