首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(
admin
2018-07-23
29
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下在政务网中基于MPLS的IP-VPN应用服务的技术说明,回答问题1至问题5。【说明】为了保证政务外网各系统的安全,必须要为各系统的网络互联提供安全隔离及网络服务质量保证,使用基于MPLS的IP-VPN是在IP网上解决这种安全隔离的一种较好
某公司申请到的IP地址为193.136.99.0,如图7-4所示,为了便于管理,需建立4个子网(要求每个子网的掩码必须相同),请回答如下问题。
ISDN分哪几层?NT2(网络终端连接设备)提供哪两种交换功能?请说出(1)的含义。
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。在制定网络安全策略时有以下两种思路:①凡是没有明确表示禁止的就要被允许;②凡是没有明确表示允许的就要被禁止。这两种想法中,哪一种思路适用于部署防火墙的
从图7-1中可以看出采用什么拓扑结构与设计方法?为了进一步简化系统,有人建议把“电脑模块”与“电话模块”合成一个模块,其传输介质共用,这可以实现吗?
目前,通过移动电话接入互联网所采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器,存储资源代码的PC、应用网关、存储私人信息的PC、电子商务系统)中,哪些应放在DMZ中,哪些应放在内网中?并请给予简要说明。
如何根据网络流量选择联网设备,给出所选设备的作用。如何规划防火墙,将内部业务服务器和部分PC机与Internet隔离?
光接入网(OAN)由ONU、ODN和OLT等三大部分组成。请将以下所提供的网络设备的序号填写到如图3-6所示的网络结构图中(1)~(5)空缺处对应的位置。【供选择的设备】①ONU②OLT③光分路器④光收发器⑤
阅读以下基于Linux操作系统部署DHCP服务的技术说明,根据要求回答问题1至问题3。【说明】某地市图书馆内部局域网划分为办公区、电子阅览室、无线阅览室等3个VLAN,并通过一台带防火墙模块的路由器与Internet网互连。为了便于整个局域网IP
随机试题
房室延搁的生理意义是
患者,男,25岁。右眼红痛、畏光、流泪8天。检查:右眼视力0.7,眼压正常。睫状充血(++),角膜无荧光素染色、透明,KP(++)、尘状,前房闪辉(++),细胞(+++),可见纤维素性渗出,虹膜散在后粘连,晶状体透明,眼底未见异常,左眼正常。该患者右眼
突然视力下降伴眼痛的眼病有()
A.脾切除B.血浆置换C.免疫抑制药D.糖皮质激素E.血小板悬液输注糖皮质激素治疗半年效果不理想,治疗应首选()
A、荔枝核B、甘松C、玫瑰花D、陈皮E、化橘红患者,女,28岁,因思虑伤脾所致的脘腹胀痛、不思饮食,治当行气止痛,开郁醒脾,宜选用的药物是
事故处理的情况由负责事故调查的人民政府或者其授权的有关部门、机构向社会公布,依法应当保密的除外。()
2013年2月,甲煤矿企业以自产的原煤100万吨连续加工成洗煤90万吨,职工食堂领用自产的原煤2万吨,甲煤矿企业当期计算缴纳资源税的销售数量为()。
用高级程序设计语言编写的程序( )。
ThefourthcomponentoftheSwedishsocialsystemisthatitspoliciesensurefullemploymentandincreasethemobilityoflabou
A、Theyhavemorebuyingpower.B、Theyhaveenoughtimetoexercise.C、Theytendtoenjoysportsmore.D、Theyareveryhealthcon
最新回复
(
0
)