java 模板模式

本文介绍了一个使用Java实现的模板模式示例,通过定义一个工作流程的骨架,将具体的工作细节留给子类实现。展示了IT员工和HR员工一天工作的具体流程。
package 模板模式;

import java.util.Date;

/**
 * 
 * @author 红尘Dream
 *模板模式 : 
 *例子 : 公司员工 一天的描述
 *
 */
public class Test
{
    public static void main(String[] args)
    {
        Worker p = new PersonIT("小鹏");
        p.workOneDay();
        
        PersonHR h = new PersonHR("小红");
        h.workOneDay();
    }
    
}

/**
 * HR员工
 *
 */
class PersonHR extends Worker
{
    public PersonHR(String name)
    {
        super(name);
    }
    
    //实现抽象方法
    @Override
    public void work()
    {
        System.out.println(name+":招聘");
    }
    
}
/*
 * IT员工
 */
class PersonIT extends Worker
{
    public PersonIT(String name)
    {
        super(name);
    }
    
    //实现抽象方法
    @Override
    public void work()
    {
        System.out.println(name+":写程序");
    }
    
}

/**
 * 工作类
 */
abstract class Worker
{
    protected String name;    
    
    
    public Worker(String name)
    {
        
        this.name = name;
    }

    /*
     * 一天的工作情况
     */
    public final void workOneDay()
    {
        enterCompany();
        computerOn();
        work();
        computerOff();
        exitCompany();
    }

    public void exitCompany()
    {
        System.out.print(new Date().toLocaleString()+"------");
        System.out.println(name+":离开公司");
    }

    public void computerOff()
    {
        System.out.println(name+":关闭电脑");
    }

    public abstract void work(); //工作方法为抽象方法
    
    public void computerOn()
    {
        
        System.out.println(name+":打开电脑");
    }

    public void enterCompany()
    {
        System.out.print(new Date().toLocaleString()+"-----");
        System.out.println(name+":进入公司");
    }
    
}

 

转载于:https://www.cnblogs.com/pbq-dream/p/5413323.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值