行为设计模式-模板方法(TemplateMethod)

行为设计模式-模板方法(TemplateMethod)_第1张图片

package com.leitao.demo.design;

/**
 * 模板方法
 * @Description: TODO
 * @Author LeiTao
 * @Date 2023/5/5
 * @Version V1.0
 **/
public class TemplateMethod {
    public static void main(String[] args) {
        Person student = new Student();
        Person teacher = new Teacher();
        student.templateMethod();
        System.out.println("===================");
        teacher.templateMethod();
    }
}

abstract class Person{
    public void templateMethod(){
        System.out.println("上课 去教室");
        primitiveOperation1();
        primitiveOperation2();
        System.out.println("下课 离开教室");
    }

    protected abstract void primitiveOperation2();

    protected abstract void primitiveOperation1();
}

class Student extends Person {

    @Override
    protected void primitiveOperation2() {
        System.out.println("学生:写作业 提交作业");
    }

    @Override
    protected void primitiveOperation1() {
        System.out.println("学生:听课 学习 做笔记 提出问题");
    }
}

class Teacher extends Person {

    @Override
    protected void primitiveOperation2() {
        System.out.println("老师:批改作业 打分数");
    }

    @Override
    protected void primitiveOperation1() {
        System.out.println("老师:上课 讲课 解答问题 布置作业");
    }
}

 行为设计模式-模板方法(TemplateMethod)_第2张图片

 

你可能感兴趣的:(设计模式,java,开发语言)