首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(
admin
2018-07-23
24
问题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开会讨论决定。
采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如题图6-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 SetSucces sor(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 Proces sRequest(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.SetSucces sor(____(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)ProcessRequest(aRequest) (2)Approver (3)super (4)Tammy (5)Meeting (6)Sam (7)Larry
解析
本题以用Java解决某企业的采购审批分级为背景,考查考生对面向对象程序设计类的用例和继承,程序解释如下。
if(succesSor!=null){successor.(1)ProcessRequest(aRequest);}
/*Chain of Responsibility(CoR)是用一系列类(classes)试图处理一个请求aRequest,这些类之间是一个松散的耦合,唯一共同点是存它们之间传递aRequest。也就是说,来了一个请求,Director类先处理,如果没有处理,就传递到VicePresident类处理,如果还没有处理,就传递到President类处理,构成责任链。审批者类定义一个虚函数,其子类可以重载该虚函数,用于处理采购请求,如果继任者不为窄,则执行相应审批者类的处理采购请求的函数ProcessRequest(aRequest)。*/
}
public void SetSuccessor(Approver aSuccesSsor){successot=aSuccesssor;}
private (2) Approver successor; /*注意到此处成员变量为私有属性,只能存Approver类中使用。由void SetSuccesSOt(Approver aSuccessor){succesSor=aSuccessor;}中的参数是Approver类型,再由successot=aSuccessor可知,successor也应为Approver类型,否则无法赋值。*/
};
class Congress extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){
if(aRequest.Amount>=500000){/*决定是否审批的代码省略*/ }
eise *3)super.ProcessRequest(aRequest); /*该类只处理50万元及以上的
采购请求这种情况,如果是50万元以下,则需交给其他类处理。由于此处调用的是父类中的成员函数
void ProcessRequest(PurchaseRequest aRequest),故需super.ProcessRequest
(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);
Tammy.SetSuccessor((5)Meeting);Larry.SetSuccessor((6)Sam);
/*由Approver类中的函数void SetSuccessor(Approver aSuccessor){successor=aSuccessor;}可知,这三处的参数值都是Approver或者其子类类型的对象,由于是一种责任链,当Director类的对象Larry不能处理该请求时,必须将该请求传给上一级,即VicePresident类的对象Sam,此时需将该继任者的地址传给Director类的对象Larry,否则无法传递该请求。
同理,其他上一级的对象也是如此。*/
//构造一采购审批请求
PurchaseRequest aRequest =new PurchaseRequest();
BufferedReader br = new BufferedReader(new InputStreamReader
(System.in));
aRequest.Amount=Double.parseDouble(br.readLine());
(7)Larry.ProcessRequest(aRequest);
/*开始审批。一般采购请求是先由Director类处理,看金额是否满足,不满足再交由上一级的VicePresident类处理,不满足再如此传递下去。由上述创建的类对象Director Larry可知,此处应填Larry.ProcessRequest(aRequest).*/
return;} }
转载请注明原文地址:https://kaotiyun.com/show/4KDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下关于以快速原型模型开发网管软件系统时的项目进度管理的叙述,回答问题1至问题5。【说明】某网络程序软件开发公司承接某项网络工程的网络流量统计管理软件开发任务。在进行可行性研究时,需要估算完成项目的时间进度。由于该软件公司近年来已经为采用快速
ADSL技术可以充分利用现有铜线网络,只要在用户线路两端加装ADSL设备即可为用户提供服务。请从以下术语选择适当的编号,将图5-9所示的拓扑结构中(1)~(4)空缺处的名称填写完整。【供选择的答案】A.程控交换机B.二层交换机
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
在配置Windows2003VPN服务器时,在管理工具中打开“路由和远程访问”,接着在所列出的本地服务器上单击鼠标右键,从弹出菜单中选择“配置并启用路由和远程访问”。在以下“路由和远程访问服务器安装向导”界面中(见图1-14),选择(1)单选按钮,接着
阅读以下说明,回答问题1、问题2、问题3和问题4,将解答填入对应栏内。[说明]GPRS作为GSM分组数据的一种业务,很大程度上拓展了GSM无线数据业务空间。下面将结合中国移动近期准备在中国移动网上开展的业务介绍GPRS业务解决方案,主要包括
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]无源光网络(PON),是指在OLT(光线路终端)和ONU(光网络单元)之间的光分配网络(ODN)没有任何有源电子设备。PON(无源光网络)技术是一种一点对
请指出现有虚拟局域网络的4种划分方式。以下为Cisco以太网交换机Catalyst2924(ws-c2924xlA,拥有24个10/100Mbit/s自适应端口)的VLAN划分命令,请解释(1)~(3)处的标有下划线部分配置命令的含义。(“//”后为
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。在本质上,ADSL采用的什么多路复用方式?
阅读以下关于FTTC宽带接入Internet的技术说明,根据要求回答问题1至问题5。【说明】光纤接入网(OpticalAccessNetwork,OAN)是以光纤为传输媒体,并利用光波作为光载波传送信号的接入网。FTTC+LAN是实现居民宽带
在图8-12所示的拓扑结构中的代理服务器上依次单击“开始→程序→管理工具→路由与远程访问,并在系统弹出的界面中打开“IP路由选择”目录树,然后用鼠标右键单击“NAT/基本防火墙”,选择[新增接口]命令。接着若选择接口1的“本地连接”,最后进行如图8-13所
随机试题
影响最佳点火提前角的因素是_______。
曲面z=x2+y2在点(1,1,2)处的切平面方程为________;法线方程为________。
原发性下肢静脉曲张的典型表现为()。
女性,35岁,颈部增粗,伴失眠,易激动,食欲亢进半年,查体:甲状腺弥漫性肿大,眼球突出,脉搏100次。分,血压130.80mmHg,CT示胸骨后甲状腺肿为明确诊断抽血测T3、T4和TSH,预计下列哪项检查结果,与病情最为相符
某铁矿建设单位按照国家有关安全生产法律法规的规定,向安全生产监督管理部门提出矿山建设项目安全设施设计审查申请时,应提交必要的文件资料。下列资料中,不在提交范围的是()。
以边际消费倾向递减规律为假设的消费理论是()。
如果无法可靠区分研究阶段支出和开发阶段支出,应将所发生的研发支出全部资本化,作为无形资产的入账成本。()
秦始皇陵位于陕西省西安市以东35公里的临潼区境内.是秦始皇于公元前246年至公元前208年修建的,也是中国历史上第一个皇帝陵园。20世纪70年代中期长沙马王堆汉墓“女尸”的发现震惊中外,其尸骨保存之完好举世罕见。由此,有人推测秦始皇的遗体也会完好地保存下来
中国特色社会主义法律为中国特色社会主义思想道德建设提供制度保障。具体体现在
Itistruethate-mailisafast,simple,andeffectivewaytocommunicatewitheachother.Butwhenthewritersofe-mailmessa
最新回复
(
0
)