zoukankan      html  css  js  c++  java
  • 2021/11/25

    public class Client
    {
    	public static void main(String args[])
    	{
    		Leader objDirector,objManager,objGeneralManager,objViceGeneralManager;
    		
    		objDirector=new Director("王明");
    		objManager=new Manager("赵强");
    		objGeneralManager=new GeneralManager("李波");
    		objViceGeneralManager=new ViceGeneralManager("肖红");
    		
    		objDirector.setSuccessor(objManager);
    		objManager.setSuccessor(objViceGeneralManager);
    		objViceGeneralManager.setSuccessor(objGeneralManager);
    			
    		LeaveRequest lr1=new LeaveRequest("张三",5000);
    		objDirector.handleRequest(lr1);
    			
    		LeaveRequest lr2=new LeaveRequest("李四",20000);
    		objDirector.handleRequest(lr2);
    		
    		LeaveRequest lr3=new LeaveRequest("王五",80000);
    		objDirector.handleRequest(lr3);
    						
    		LeaveRequest lr4=new LeaveRequest("赵六",140000);
    		objDirector.handleRequest(lr4);			
    	}
    }
    

      

    public class Director extends Leader
    {
    	public Director(String name)
    	{
    		super(name);
    	}
    	public void handleRequest(LeaveRequest request)
    	{
    		if(request.getLeaveDays()<10000)
    		{
    			System.out.println("主任" + name + "审批" + request.getLeaveName() + "的购物清单,金额为" + request.getLeaveDays() + "元。");
    		}
    		else
    		{
    			if(this.successor!=null)
    			{
    				this.successor.handleRequest(request);
    			}
    		}
    	}
    }
    

      

    public class GeneralManager extends Leader
    {
    	public GeneralManager(String name)
    	{
    		super(name);
    	}
    	
    	public void handleRequest(LeaveRequest request)
    	{
    		if(request.getLeaveDays()<200000)
    		{
    			System.out.println("总经理" + name + "审批" + request.getLeaveName() + "的购物清单,金额为" + request.getLeaveDays() + "元。");
    		}
    		else
    		{
    			System.out.println("总经理没有权限批准");
    		}
    	}
    }
    

      

    public abstract class Leader
    {
    	protected String name;
    	protected Leader successor;
    	public Leader(String name)
    	{
    		this.name=name;
    	}
    	public void setSuccessor(Leader successor)
    	{
    		this.successor=successor;
    	}
    	public abstract void handleRequest(LeaveRequest request);
    }
    

      

    public class LeaveRequest
    {
    	private String leaveName;
    	private int leaveDays;
    	
    	public LeaveRequest(String leaveName,int leaveDays)
    	{
    		this.leaveName=leaveName;
    		this.leaveDays=leaveDays;
    	}
    	
    	public void setLeaveName(String leaveName) {
    		this.leaveName = leaveName; 
    	}
    
    	public void setLeaveDays(int leaveDays) {
    		this.leaveDays = leaveDays; 
    	}
    
    	public String getLeaveName() {
    		return (this.leaveName); 
    	}
    
    	public int getLeaveDays() {
    		return (this.leaveDays); 
    	}	
    }
    

      

    public class Manager extends Leader
    {
    	public Manager(String name)
    	{
    		super(name);
    	}
    	public void handleRequest(LeaveRequest request)
    	{
    		if(request.getLeaveDays()<50000)
    		{
    			System.out.println("部门经理" + name + "审批" + request.getLeaveName() + "的购物清单,金额为" + request.getLeaveDays() + "元。");
    		}
    		else
    		{
    			if(this.successor!=null)
    			{
    				this.successor.handleRequest(request);
    			}
    		}
    	}
    }
    

      

    public class ViceGeneralManager extends Leader
    {
    	public ViceGeneralManager(String name)
    	{
    		super(name);
    	}
    	public void handleRequest(LeaveRequest request)
    	{
    		if(request.getLeaveDays()<100000)
    		{
    			System.out.println("副总经理" + name + "审批" + request.getLeaveName() + "的购物清单,金额为" + request.getLeaveDays() + "元。");
    		}
    		else
    		{
    			if(this.successor!=null)
    			{
    				this.successor.handleRequest(request);
    			}
    		}
    	}
    }
    

      

  • 相关阅读:
    spark 随机森林算法案例实战
    AngularJS 下拉列表demo
    机器学习案例学习【每周一例】之 Titanic: Machine Learning from Disaster
    sklearn中的数据预处理----good!! 标准化 归一化 在何时使用
    kaggle 中使用ipython
    机器学习中的数据不平衡问题----通过随机采样比例大的类别使得训练集中大类的个数与小类相当,或者模型中加入惩罚项
    机器学习 数据量不足问题----1 做好特征工程 2 不要用太多的特征 3 做好交叉验证 使用线性svm
    [029] 微信公众帐号开发教程第5篇-各种消息的接收与响应(转)
    [028] 微信公众帐号开发教程第4篇-消息及消息处理工具的封装(转)
    微信公众帐号开发教程第3篇-开发模式启用及接口配置(转)
  • 原文地址:https://www.cnblogs.com/qiangini/p/15580433.html
Copyright © 2011-2022 走看看