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

模板方法设计模式的写法

建议使用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();

    }
}
相关推荐
慧一居士5 分钟前
SpringCloud 微服务Feigin 用的完整调用端和被调用的示例
java·spring cloud
CodeStats13 分钟前
【虚拟机】 从 CPU 指令到虚拟机隔离:虚拟机就是一个“模拟了完整硬件的普通进程”
java·docker
我命由我1234513 分钟前
Jetpack Room - Room 查询返回列表无需判空、LIKE 关键字
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime
平安的平安26 分钟前
传统Java工程师第一次用飞算JavaAI生成SpringBoot项目
java
csjane107930 分钟前
Redisson 限流原理
java·redis
一个做软件开发的牛马31 分钟前
MyBatis 从零实战:完整搭建可运行 Demo,注解与 XML 双模式开发详解
java·后端
朝星36 分钟前
Android开发[14]:网络优化之OkHttp
android·okhttp·kotlin
用户2986985301437 分钟前
Java 实践:查找与提取 Word 文档超链接
java·后端
Flittly37 分钟前
【AgentScope Java新手村系列】(9)SpringBoot集成
java·spring boot·spring
私人珍藏库39 分钟前
[Android] FX Player-安卓全格式播放器-比MX播放器好用
android·学习·工具·软件·多功能