首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括
阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括
admin
2008-11-02
49
问题
阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。
【说明】
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开会讨论决定。
采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图7-1所示。
【Java 代码】
class PurchaseRequest {
public double Amount; // 一个采购的金额
public int Number; // 采购单编号
public String Purpose; // 采购目的
};
class Approver { // 审批者类
public Approver() { successor = null; }
public void ProcessRequest(PurchaseRequest aRequest){
if (successor != null){ successor.(1); }
}
public void SetSuccesser(Approver aSuccesssor){ successor = aSuccesssor; }
private (2) successor;
};
class Congress extends Approver {
public void ProcessRequest(PurchaseRequest aRequest) {
if(aRequest,Amount >= 500000){ // 决定是否审批的代码省略}
else (3).ProcessRequest(aRequest);
}
};
class Director extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){ // 此处代码省略 }
};
class President extends Approver {
public void ProcessRequest(PurchaseRequest aRequest) { // 此处代码省略 }
};
class VicePresident extends Approver {
public void ProcessRequest(PurchaseRequest aRequest) { // 此处代码省略 }
};
public class rs {
public static void main(String[] args) throws IOException {
Congress Meeting = new Congress();
VicePresident Sam = new VicePresident();
Director Larry = new Director();
President Tammy = new President();
// 构造责任链
Meeting. SetSuccessor(null); Sam. SetSuccessor((4));
Tammy. SetSuccessor((5)); Larry. SetSuccessor((6));
//构造一采购审批请求
PurchaseRequest aRequest = new PurchaseRequest();
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
aRequest.Amount = Double.parseDouble(br.readLine());
(7).ProcessRequest(aRequest); // 开始审批
return ;
}
}
选项
答案
(1)ProeessRequest(aRequest) (2)Approver (3)super (4)Tammy (5)Meeting (6)Sam (7)Larry
解析
本题考查的是设计模式的应用,属于比较传统的题目。责任链设计模式属于常用的23种设计模式之一。其目的是为了将一个请求发送给一个对象集合,对象被组织成一条链,而负责处理该请求的对象将获取请求消息并处理,其余对象则仅仅负责将该请求消息按照责任链的顺序传递到下一个对象。因此责任人链模式的关键在于组织不同的对象成为一条链并传递消息。
代码中空(1)处位于条件判断汀(successor!=NULL)内,因此其含义是判断当前对象是否存在后继对象,如果存在,按照责任链设计模式,可以把请求消息进行传递,也就是调用后继对象的ProcessRequest方法。空(2)处要求填写successor的类型,因为责任链模式中的每一个对象都继承自同一个父类,在本题中,就是Approver类型。空(3)处位于Congress类中的ProcessRequest方法中,该方法表示处理外界的请求,else块的含义表明Congress对象不处理当审批金额大于50万元的请求,因此,Congress对象应该将该请求转发到下一个对象进行处理,可以直接调用父类的ProcessRequest方法。空 (4)、(5)、(6)主要用来将各种对象串接成一个链,根据题目的要求,对象在责任链中的顺序应该为Director Larry:VicePresident Sam;President Tammy;Congress Meeting,而审批的请求应该从Larry开始。
转载请注明原文地址:https://kaotiyun.com/show/I5DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
相对于DES算法而言,RSA算法的(7),因此,RSA(8)。
人眼看到的任一彩色光都是亮度、色调和饱和度3个特性的综合效果,其中(13)反映颜色的种类。
以下控制流程图的环路复杂性V(G)等于(54)。
针对电子政务类应用系统的功能测试,为设计有效的测试用例,应(34)。
模块设计中,某模块根据输入的控制信息从文件中读一个记录或者向文件中写一个记录,则其内聚类型为______。
模块A的功能为:从数据库中读出产品信息,修改后存回数据库,然后将修改记录写到维护文件中。该模块内聚类型为(38)内聚。以下关于该类内聚的叙述中,正确的是(39)。(39)
如果在查找路由表时发现有多个选项匹配,那么应该根据___________(25)原则进行选择。假设路由表有4个表项如下所示,那么与地址139.17.179.92匹配的表项是____________(26)。(25)
银行系统数据流图中,某个加工根据客户的多个不同属性的值来执行不同的操作,则对该加工最适宜采用()描述。
下图所示的二叉树进行顺序存储(根结点编号为1,对于编号为i的结点,其左孩子结点为2i,右孩子结点为2i+1)并用一维数组BT来表示,已知结点X、E和D在数组BT中的下标为分别为1、2、3,可推出结点G、K和H在数组BT中的下标分别为____________
随机试题
Tosavemoneyonthecompanionfare,therescuecenters________helpfromvacationersalreadyholdingaplanetickethome.
采用肾上腺皮质激素降低颅内压的作用原理是
男婴,孕36周出生。出生体重2.0kg,生后l天,吸吮欠佳。睾丸未降,皮肤毳毛多。该患儿拟补给液体,其需要量为
摩擦桩孔底沉淀层厚度,当桩径≤1.5m时不超过()mm。
()应设有导除静电的接地装置。
其他项目清单列项不包括( )。
西北某地,由国家和民营企业共同兴建的某大型炼钢厂。起初,建设单位拟定由中央直属的一家冶金建设公司总承包该项目工程,遭到当地监管部门的反对。建设单位招标投标过程中发生了下列事件:事件一:工程采用PC承包形式进行招标,有个别单位不明白PC承
普通水泥的优点有很多,下列不属于其优点的是()。
德国甲公司为汽车生产企业,2007年5月,甲公司拟收购丙公司的厂房和流水线并将该整体资产与境内乙国有独资公司共同投资设立中外合资经营企业,主要业务为汽车生产。德国甲公司在与乙公司、丙公司协商后,拟订投资方案和合同中有关要点如下:(1)中外合资经营
某自营出口的生产企业为增值税一般纳税人,适用的增值税税率为17%,退税率为13%。2011年11月份和12月份的生产经营情况如下:要求:采用“免、抵、退”法计算企业2011年12月份应纳(或应退)的增值税。
最新回复
(
0
)