设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 模板方法模式(Template Method) - Java实现

本文介绍了设计模式中的模板方法模式,通过Java代码示例展示了如何使用抽象类定义算法骨架,并由子类实现具体算法步骤。具体包括程序员和人力资源部门的工作流程实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 模板方法模式(Template Method)
模板定义一个操作中的算法的骨架,具体算法由子类实现。
结果:不改变一个算法的结构,可重定义算法的某些特定步骤。

一、说明:
1、TemplateMethod 模板(抽象类);
2、Programmer 模板.实现类;
3、HR 模板.实现类。

二、Java实现,代码如下:
1、TemplateMethod

package com.java.designPattern.templateMethod;

/**
 * 模板 - 抽象类
 *
 */
public abstract class TemplateMethod {

    public final void work() {
        signIn();
        detail();
        signOut();
    }

    private final void signIn() {
        System.out.println("check in");
    }

    /**
     * 子类实现
     */
    protected abstract void detail();

    private final void signOut() {
        System.out.println("check out");
    }

}

2、Programmer

package com.java.designPattern.templateMethod;

/**
 * 实现类
 *
 */
public class Programmer extends TemplateMethod {

    @Override
    protected void detail() {
        System.out.println("write code");
    }

}

3、HR

package com.java.designPattern.templateMethod;

/**
 * 实现类
 *
 */
public class HR extends TemplateMethod {

    @Override
    protected void detail() {
        System.out.println("select resumes");
    }

}

4、Test

package com.java.designPattern.templateMethod;

/**
 * 测试类
 *
 */
public class Test {

    public static void main(String[] args) {
        Programmer programmer = new Programmer();
        programmer.work();
        System.out.println("分割线");
        HR hr = new HR();
        hr.work();
    }

}

输出:
check in
write code
check out
分割线
check in
select resumes
check out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值