首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPE
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPE
admin
2010-04-08
101
问题
阅读下列说明和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://kaotiyun.com/show/HSDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间
假设某公司营销系统有营销点关系S(营销点,负责人姓名,联系方式)、商品关系P(商品名,条形码,型号,产地,数量,价格),其中,营销点唯一标识S中的每一个元组。每个营销点可以销售多种商品,每一种商品可以由不同的营销点销售。关系S和P的主键分别为(15),S
将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是()。
软件工程概念的提出是由于______。A.计算技术的发展B.软件危机的出现C.程序设计方法学的影响D.其他工程科学的影响
GB/T18905-2002《软件工程产品评价》提供了软件产品评价的过程,其中GB/T18905-2002《软件工程产品评价》第五部分评价者用的过程供(53)。
某公司内部使用wb.xyz.com.cn作为访问某服务器的地址,其畔wb是______。
对于测试中所发现错误的管理是软件测试的重要环节,以下关于错误管理原则的叙述正确的是()。
V模型是具有代表意义的测试模型,以下理解正确的是______。A.V模型认为测试阶段是与开发阶段并行的B.V模型是软件开发螺旋模型的变种,它反映了测试活动与分析和设计的关系C.V模型造成需求分析阶段隐藏的问题一直到后期的验收测试才被发现D.V模型是
可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))-d”,由于________________,因此可判断
已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Compute-BOOK,并要求进行修改、插入操作时保证该视图只有计算机类的图书。CREATE(1)
随机试题
A.H+浓度升高B.PaCO2升高C.温度升高D.2,3-二磷酸甘油酸浓度下降E.PaO2下降不引起血红蛋白氧离曲线偏移的因素是
Howmanypeopledidthemanexpecttocometotheparty?
气管内插管留置时间不能超过
下列哪项为锥体束损害的表现
结算系统参与人无对应交易席位且已结清与登记公司的一切债权、债务后,可申请终止在登记公司的结算业务,撤销结算账户。()
下列属于民间非营利组织的会计报告体系的有()。
石门坊红叶旅游区既有优美的自然景观,又有古老的人文景观。()
招聘需求信息的整理包括对招聘需求信息进行()。
某县市场监督管理局局长参与赌博被当场抓获,派出所民警传唤该局长到派出所协助调查。该局长破口大骂:“你一个小小警察,不知道我是谁呀?我和你们局长是老朋友,你敢抓我,小心你的工作……”拒不接受传唤。对此,你认为与该局长沟通最恰当的方法是()
Afterbeingtestedinmanyways,thisnewly-designedmachinewill______inthenearfuture.
最新回复
(
0
)