首页 > 其他分享 >软件设计15

软件设计15

时间:2023-12-26 21:11:48浏览次数:35  
标签:15 String 软件设计 dan System Leader println public

[实验任务一]:财务审批

某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万元及以下的采购单,副总经理可以审批10万元及以下的采购单,总经理可以审批20万元及以下的采购单,20万元以上的采购单需要开职工大会确定。现用职责链模式设计该系统。

实验要求:

1. 提交类图;

 

 

2. 提交源代码;

 

public class Client {

    public static void main(String[] args) {

        Leader zhuren,bumen,fuzong,zong;

        Order danzi=new Order();

        zong=new Zong("总经理");

        fuzong=new Fuzong("副总经理",zong);

        bumen=new Bumen("部门经理",fuzong);

        zhuren=new Zhuren("主任",bumen);

        danzi.setMoney(5000);

        zhuren.approvel(danzi);

        System.out.println("--------—----------------------------");

        danzi.setMoney(50000);

        zhuren.approvel(danzi);

        System.out.println("--------—----------------------------");

        danzi.setMoney(1000000);

        zhuren.approvel(danzi);

 

    }

}

 

public class Zong extends Leader{

 

    public Zong(String a) {

        super(a);

    }

    public Zong(String a,Leader b){

        super(a,b);

    }

    public void approvel(Order dan) {

        if(dan.getMoney()<=200000){

            System.out.println(name+"同意审批这个"+dan.getMoney()+"元的采购单");

        }else {

            System.out.println(name+"不能审批20万元以上的采购单");

            System.out.println("这个"+dan.getMoney()+"元的采购单"+"需要职工大会确定");

        }

    }

 

}

 

public class Fuzong extends Leader{

 

    public Fuzong(String a) {

        super(a);

    }

    public Fuzong(String a,Leader b){

        super(a,b);

    }

    public void approvel(Order dan) {

        if(dan.getMoney()<=100000){

            System.out.println(name+"同意审批这个"+dan.getMoney()+"元的采购单");

        }else {

            System.out.println(name+"不能审批10万元以上的采购单");

            this.successor.approvel(dan);

        }

    }

 

}

 

public class Zhuren extends Leader{

 

    public Zhuren(String a) {

        super(a);

    }

    public Zhuren(String a,Leader b){

        super(a,b);

    }

    public void approvel(Order dan) {

        if(dan.getMoney()<=10000){

            System.out.println(name+"同意审批这个"+dan.getMoney()+"元的采购单");

        }else {

            System.out.println(name+"不能审批1万元以上的采购单");

            this.successor.approvel(dan);

        }

    }

 

}

 

public class Bumen extends Leader{

 

    public Bumen(String a) {

        super(a);

    }

    public Bumen(String a,Leader b){

        super(a,b);

    }

    public void approvel(Order dan) {

        if(dan.getMoney()<=50000){

            System.out.println(name+"同意审批这个"+dan.getMoney()+"元的采购单");

        }else {

            System.out.println(name+"不能审批5万元以上的采购单");

            this.successor.approvel(dan);

        }

    }

 

}

 

public abstract class Leader {

    protected String name;

    protected Leader successor;

    public Leader(String a){name=a;}

    public void setSuccessor(Leader a){

        successor=a;

    }

    public Leader(String a,Leader b){

        name=a;

        successor=b;

    }

 

    public abstract void approvel(Order dan);

}

 

public class Order {

    private double money;

    public double getMoney(){

        return money;

    }

    public void setMoney(double a){

        money=a;

    }

}

3. 注意编程规范。

标签:15,String,软件设计,dan,System,Leader,println,public
From: https://www.cnblogs.com/renliqin/p/17929362.html

相关文章

  • Redis设计与实现-15.复制
    redis可以通过SLAVEOF命令去复制(同步)另一台服务器,例如:当前有两台redis服务器其信息为:hostnameipportredis_1127.0.0.16379redis_2127.0.0.112345如果redis_2想要同步redis_1的内容,可以在redis_2上执行SLAVEOF127.0.0.16379,进而达到这个效果。RedisSLA......
  • Codeforces Round 915 (div2) E
    E.TreeQueries[题目链接](https://codeforces.com/contest/1904/problem/EProblem-E-Codeforces)题意概括:给定一棵大小为\(n\)的树,回答如下询问,询问之间相互独立:给定一个点\(x\)与\(k\)个点\(a_i\),求出从\(x\)出发不经过任何一个\(a_i\)的最长简单路径长度......
  • S71500 OPCUA 通讯
    S71500OPCUA通讯(PLC作为OPCUAServer)测试工具:1,博图V172,PLCSIMAdvanced3.03,OPCUAClient测试步骤:博图中的设置1,在博图中新建项目,组态设备,这里要注意,PLCSIMAdvanced3.0支持的CPU版本最高只能到2.8,因此版本选择2.8就可以了2,在项目视图的设备组态中,把这几个地方勾上 3,运行系......
  • Cisco Expressway Release X15.0.0 - 统一通信网关
    CiscoExpresswayReleaseX15.0.0-统一通信网关Expressway&ExpresswaySelect请访问原文链接:https://sysin.org/blog/cisco-expressway-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoExpressway系列让协作变得更简单CiscoExpressway可在保证......
  • Cisco Unified Communications Manager (CallManager) 15.0 - 统一通信与协作
    CiscoUnifiedCommunicationsManager(CallManager)15.0-统一通信与协作思科统一通信管理器(CallManager)请访问原文链接:https://sysin.org/blog/cisco-ucm-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科统一通信管理器企业统一通信和协作借助思科......
  • 每日一练 | 华为认证真题练习Day154
    1、由于属性AS-PATH不能在AS内起作用,所以规定BGP路由器不会宣告任何从IBGP对等体来的更新信息给其IBGP对等体A.正确B.错误2、通过重发布命令注入BGP的路由,其ORIGIN属性为INCOMPLETEA.正确B.错误3、自治系统(AUTONOMOUSSYSTEM,AS)是指用户自主定义的,使用统一选路策略的一组路由......
  • 2203840415蔡浛翊
    选题背景介绍商业和住宅建筑在内的建筑业的全球能源消耗约为20%。随着人口的快速增长和经济增长,预计从1年到3年,建筑物的能源消耗将以每年2018.2050%的速度增长;这种不断增长的能源需求引起了全世界对其对环境负面影响的极大关注。为了满足不断增长的电力需求,需要高效且具有成本效......
  • python网站创建015:jQuery的标签操作
    当我们找到标签之后,就要学习jQuery对这个标签都能做哪些操作? 1、样式操作:也就是操作标签的css样式添加样式:addClass删除样式:removeClass判断是否有该样式:hasClass有则移除,无则添加:toggleClass<!DOCTYPEhtml><html><head><title>初识:JavaScript</title><meta......
  • P5840 [COCI2015] Divljak
    题意:Alice有\(n\)个字符串\({S}_1,{S}_2,\ldots,{S}_n\),Bob有一个字符串集合\({T}\),一开始集合是空的。接下来会发生\(q\)个操作,操作有两种形式:1P:Bob往自己的集合里添加了一个字符串\({P}\)。2x:Alice询问Bob,集合\({T}\)中有多少个字符串包含串\({S}_x\)(......
  • JavaScript读写15693 ICod2 卡源码
    本示例使用设备:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="......