模板方法设计模式

模板方法设计模式优势

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

模板方法设计格式

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

运行效果

相关推荐
长征coder8 分钟前
Maven Deploy的依赖与引用方的依赖不同
java·maven
努力学习的明16 分钟前
Spring MVC 对 JavaWeb 的优化:从核心组件到注解
java·spring·mvc·web
小雅痞17 分钟前
[Java][Leetcode middle] 238. 除自身以外数组的乘积
java·leetcode
androidwork20 分钟前
Android 中使用通知(Kotlin 版)
android·kotlin
小李不想说话29 分钟前
HTTPS 加密原理
java·网络·网络协议·学习·安全·http·https
斯密码赛我是美女32 分钟前
ssti刷刷刷
java·服务器·前端
进击的小白菜1 小时前
Java回溯算法解决非递减子序列问题(LeetCode 491)的深度解析
java·算法·leetcode
众乐乐_20081 小时前
Java 后端给前端传Long值,精度丢失的问题与解决
java·前端·状态模式
Digitally1 小时前
如何从 Android 设备打印短信(5 种方法)
android
北辰浮光1 小时前
[springboot]SSM日期数据转换易见问题
java·spring boot·后端