首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPE
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPE
admin
2010-04-08
56
问题
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计所得类图如图5—7所示。采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。
【Java代码】
class Matrix{//各种格式的文件最终都被转化为像素矩阵
//gt处代码省略
};
abstract class ImageImp{
public abstract void doPaint(Matrix m); //显示像素矩阵m
};
class WinImp extends ImageImp{
public void doPaint(Matrix m){/*调用windows系统的绘制函数绘制像素矩阵*/}
};
class LinuxImp extends ImageImp{
public void doPaint(Matrix m){/*调用Linux系统的绘制函数绘制像素矩阵*/}
};
abstract class Image{
public void setImp(ImageImp imp){(1) =imp;}
public abstract void parseFile(String fiieName);
protected (2) imp;
};
class BMP extends Image{
public void parseFile(String fiieName){
//此处解析BMP文件并获得一个像素矩阵对象m(3) ;//显示像素矩阵m
}
};
classGIF extends Image{
//此处代码省略
};
class JPEG extends Image{
//此处代码省略
};
publ.ic class j avaMain{
public static v。id main (string[]args) {
//在windows操作系统上查看demO.bmp图像文件
Image imagel= (4) ;
ImageImp imageImpl= (5) ,(6鱼) ;
imagel.parseF’ile(“demo.bmp”);
}
}
现假设该系统需要支持10种格式的图像文件和5种操作系统,不考虑类Matrix和类ja.vaMain,若采用桥接设计模式则至少需要设计 (7) 个类。
选项
答案
(1)this.imp(2)ImageImp(3)imp.doPaint(m)(4)newBmp()(5)new WinImp()(6)imagel.setImp(imageImpl)(7) 17
解析
根据题目描述,在设计该图像显示系统时主要分为两个步骤:一是读取各种文件并将文件内容转换为像素矩阵,因为各种图片格式不同,所以需要针对每一种图片格式编写文件读取代码,而该代码与操作系统平台无关。将像素矩阵显示到屏幕上时,由于和操作系统相关,因此需要把该代码和读取文件代码相分离。设计中的Image类表示抽象的图像概念,image类中就包含了读取文件接口和设置实现平台接口:Image的子类BMP,GIF和JPEG分别负责读取各种不同格式的文件;Imagelmp的主要任务是将像素矩阵显示在屏幕上,因此,它存在两个子类,分别实现Windows系统和IJnux系统上的图像显示代码。空缺(1)处主要是设置将在哪个平台上进行实现,因此该处应该存储参数所传递的对象,由于该类的成员变量也是imp,与参数相同,因此需要填写this.imp;同理,该成员变量的类型和参数的类型应该保持相同,空(2)处应该填写Imagelmp;空(3)处需要根据imp成员变量存储的实现对象来显示图像。在空(4)处需要生成一个BMP对象;由于需要在Win.dows平台上实现,因此空(5)处需要生成一个WinImp对象,同时,还需设置该BMP对象,应采用WinImP对象来实现显示。采用桥接模式能够将文件分析代码和图像显示代码分解在不同的类层次结构中,如果不考虑中间使用的Matrix等类,那么最后需要设计的类包括两个父类,对应文件格式数目的子类,对应操作系统数目的平台类,因此10种图像格式和5种操作系统需要17个类。
转载请注明原文地址:https://jikaoti.com/ti/SCi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
根据ANSI/IEEE829标准,(62)属于《测试案例说明》中的内容。 ①输入说明 ②测试目的 ③环境要求 ④特殊要求
《GB/T18905软件工程产品评价》中确定的通用评价过程包括四个方面,其中有关“规定评价”部分包含的内容有(67)。
程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,(19)是错误的。
某企业职工关系EMP(E_no,E_name,DEPT,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;经费关系FUNDS(E_no,E_limit,E_used)中的属性分别表示职工号、总经费金额和已花费金额。若要查询部门为“开
某企业职工关系EMP(E_no,E_name,DEPT,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;经费关系FUNDS(E_no,E_limit,E_used)中的属性分别表示职工号、总经费金额和已花费金额。若要查询部门为“开
标准符合性测试中的标准分类包括______。①数据内容类标准②通信协议类标准③开发接口类标准④信息编码类标准
以下关于软件测试原则的叙述中,正确的是______。①所有软件测试都应追溯到用户需求②尽早地和不断地进行软件测试③完全测试是不可能的④测试无法发现软件潜在的缺陷⑤需要充分注意测试中的群集现象
系统交付后,修改原来打印时总是遗漏最后一行记录的问题,该行为属于______维护。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
网络测试类型包括________。①网络可靠性测试②网络可接受性测试③网络瓶颈测试④网络容量规划测试
随机试题
焊接场地应符合安全要求,否则会造成火灾、爆炸、触电事故。()
WhenIcomeacrossagoodarticleinreadingnewspapers,Ioftenwanttocutandkeepit.ButjustasIamabouttodosoIfind
阅读杜甫《蜀相》一诗,然后回答下列小题。丞相祠堂何处寻,锦官城外柏森森。映阶碧草自春色,隔叶黄鹂空好音。三顾频烦天下计,两朝开济老臣心。出师未捷身先死,长使英雄泪满襟。如何理解“三顾频烦天下计,两朝开济老臣心”两句?
A.肠结核B.大肠癌C.克罗恩病D.溃疡性结肠炎病变好发于直肠和乙状结肠
A.0.3B.0.95~1.05C.1.5D.6E.10在气相色谱法中,除另有规定外,拖尾因子应为
在新一轮国企改革中,某市不少企业集团、政府部门认为走资本积累,凭借自己的技术、资金、管理优势向相关产品、相关产业发展的内部扩张道路太慢。有的领导甚至指出,照目前的发展速度.本市企业集团五年、十年乃至十几年都不大可能进入全国500强企业之列,只有把一些大企业
甲、乙、丙合伙组织欠丁20万元债务,则下列表述不正确的是()。
下列程序段执行以后,内存变量Y的值是()。x=34567Y=0DOWHILEx>0Y=x%10+y*10x=int(x/10)ENDDo
A、oxygen.B、ancientweather.C、carbondioxide.D、temperature.BItprovidesoneoftheclearestrecordsofancientweather.这句话是答
A、Itdoesn’taskworkerstogettoofficeearly.B、Itreleasesaneight-pointplan.C、Itlimitsovertimeto360hoursayear.D、
最新回复
(
0
)