zoukankan      html  css  js  c++  java
  • java 模板模式

    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+":进入公司");
        }
        
    }
  • 相关阅读:
    Ajax基础1
    jQuery框架源码解读
    关于struts、spring 和 hibernate的说明
    struts2学习笔记(一)
    NodeJS+MongoDB
    最佳实践(二)
    ajax请求web容器控制超时
    实战经验
    javascript学习笔记(二)
    spring学习笔记(六)
  • 原文地址:https://www.cnblogs.com/pbq-dream/p/5413323.html
Copyright © 2011-2022 走看看