软件工程专业考试_第1页
软件工程专业考试_第2页
软件工程专业考试_第3页
软件工程专业考试_第4页
软件工程专业考试_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、厦门大学软件体系结构课程试卷软件学院系201啾季年级软件工程专业主考教师:王备战试卷类型:(A卷)三、请书写一个类,该类只能产生同一个对象。(10分)PublicclassSingletonPrivatestaticfinalSingletonsingleton=newSingleton();PrivateSingleton()PublicstaticSingletongetInstance()Returnsingleton;四、程序补充题.(2*10分)1.请根据以上类图填充完整下面的程式源码。publicinterfaceSubjectpublicvoidregisterObserver(

2、Observero);publicvoidremoveObserver(Observero);publicvoidnotifyObserver();publicinterfaceObserverPublicvoidupdate(floattemp,floathumidity,floatpressure);publicinterfaceDisplayElementpublicvoiddisplay();publicclassWeatherDataimplementSubjectprivateArrayListobservers;privatefloattemperature;privateflo

3、athumidity;privatefloatpressure;publicWeatherData()observers=newArrayList();publicvoidregisterObserver(Observero)/有新的观察者加入时observers.add(o);publicvoidnotifyObservers()/状态更新时,通知各observer做状态的改变Iteratoritr=observers.iterator();Observerobserver=null;For(;itr.hasNext();)observer=(Observer)itr.next();obse

4、rver.update(this.temperature,this.humidity,this.pressure);publicvoidmeasurementsChanged()/度量值发生变化时通知observerthis.notifyObservers();publicvoidsetMeasurements(floattemperature,floathumidity,floatpressure)this.temoreature=temperature;this.hunidity=humidity;this.pressure=pressure;measurementsChanged();2

5、.责任链模式责任链模式的实现责任链模式涉及到的角色抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法,以设定和返回对下家的引用。这个角色通常由一个抽象类或接口实现。具体处理者(ConcreteHandler)角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。由于具体处理者持有对下家的引用,因此,如果需要,具体处理者可以访问下家。根据上面类图补充完整下面程序源码。具体处理者处理逻辑如下:若request大于等于0且小于10,则由ConcreteHandler1处理;若request大于等于10且小于20,则由ConcreteHandl

6、er2处理;若request大于等于20且小与30,则由ConcreteHandler3处理;usingSystem;/ "Handler"abstractclassHandler/FieldsprotectedHandlersuccessor;/MethodspublicvoidSetSuccessor(Handlersuccessor)this.successor=successor;abstractpublicvoidHandleRequest(intrequest);/ "ConcreteHandler1"classConcreteHandler

7、1:Handler/MethodsoverridepublicvoidHandleRequest(intrequest)if(request>=0&&request<10)Console.WriteLine("request值等于:"+request+"输出->h1");elsethis.successor.HandleRequest(request);classConcreteHandler2:Handler/MethodsoverridepublicvoidHandleRequest(intrequest)if(re

8、quest>=10&&request<20)Console.WriteLine("request值等于:"+request+"输出h2");elsethis.successor.HandleRequest(request);classConcreteHandler3:Handler/MethodsoverridepublicvoidHandleRequest(intrequest)if(request>=20&&request<30)Console.WriteLine("request值等

9、于:"+request+"输出->h3");elseif(this.successor!=null)this.successor.HandleRequest(request);/ClienttestpublicclassClientpublicstaticvoidMain(stringargs)/SetupChainofResponsibilityHandlerh1=newConcreteHandler1();Handlerh2=newConcreteHandler2();Handlerh3=newConcreteHandler3();h1.SetSuccessor(h2);intrequests=2,5,14,22,18,foreach(intrequestinrequests)h2.SetSuccessor(h3);/Generateandprocessrequesth1.HandleRequest(request);3,27,20;厦门大学标准试卷说明一、主考教师在出卷时应填写课程名称、学院、系、年级、专业、主考教师,并注明A卷或B卷。全校性选修课试卷只须注明课程名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论