第六节第二部分:抽象类的应用-模板方法设计模式

模板方法设计模式的写法

建议使用final关键字修饰模板方法

总结

代码:

People(父类抽象类)

java 复制代码
package com.Abstract3;
public abstract class People {
    /*设计模板方法设计模式
    * 1.定义一个模板方法出来
    */
    public final void write(){
        System.out.println("\t\t\t\t\t《我的上司》");
        System.out.println("\t\t我的上司好啊,牛逼啊,来看看我的上司有多牛逼");
        //2.模板方法并不清楚正文部分到底怎么去写,但是他知道子类肯定要去写
        System.out.println(writeMain());

        System.out.println("有这样的上司太好了");
    }
    //3.设计一个抽象方法写正文,具体实现交给子类完成
    public abstract String writeMain();
}

Teacher(子类继承People类)

java 复制代码
package com.Abstract3;

public class Teacher extends People{
    @Override
    public String writeMain() {
        return "我的上司挺好的,让我待在这里别走,他去买点橘子";
    }
}

Student类(子类继承People类)

java 复制代码
package com.Abstract3;
public class Student extends People {
    @Override
    public String writeMain() {
        return "我的上司特别牛逼,开车不看红绿灯,下辈子让他做下属";
    }
}

Test类(主函数所在)

java 复制代码
package com.Abstract3;
//搞清楚抽象类的应用场景,用来设计模板方法设计模式
//场景:学生、老师都要写一篇作文:我的上司
//第一段:一样
//正文部分自由发挥
//最后一段也是一样
public class Test {
    public static void main(String[] args) {
        Teacher t = new Teacher();
        t.write();
        Student s = new Student();
        s.write();

    }
}
相关推荐
iiiiyu12 小时前
常用API(SimpleDateFormat类 & Calendar类 & JDK8日期 时间 日期时间 & JDK8日期(时区) )
java·大数据·开发语言·数据结构·编程语言
迷藏49412 小时前
# 发散创新:基于Selenium的自动化测试框架重构与实战优化在当今快速迭代的软件开
java·python·selenium·测试工具·重构
敲代码的瓦龙12 小时前
Android?Activity!!!
android
Nyarlathotep011313 小时前
LockSupport工具类
java·后端
阿巴斯甜13 小时前
BiFunction的使用
java
XiYang-DING13 小时前
【Java EE】多线程(1)
java·python·java-ee
刘 大 望13 小时前
RAG相关技术介绍及Spring AI中使用--第三期
java·人工智能·后端·spring·机器学习·ai·aigc
NOCSAH13 小时前
统好AI:Java技术生态下的智能知识管理新选择
java·开发语言·人工智能
阿巴斯甜13 小时前
Java中 Consumer 的用法:
java
做个文艺程序员13 小时前
Spring Boot 封装 OpenClAW 服务层最佳实践【OpenClAW + Spring Boot 系列 第2篇】
java·人工智能·spring boot·开源