首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPE
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPE
admin
2010-04-08
61
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为10、5和3。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示,此时系统剩余的可用资源数分别为(22)。如果进程按(23)序列执行,那么系统
国标16260中,在描述外部(内部)效率度量时,给出了若干针对计算机系统时间消耗的定义,以下描述项中正确的有(31)。①响应时间是指从按下传送键到得到结果为止所需要的时间。②处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间。③周转时间是指
用边界值分析法,假定1<X<100,那么X在测试中应取的边界值是(54)。
对现有软件系统中一些数据处理的算法进行改进,以提高效率,从而更快地响应用户的服务要求。这种行为属于____________维护。
修改现有软件系统的设计文档和代码以增强可读性,这种行为属于________维护。
系统交付后,修改偶尔会出现乱码的问题,该行为属于________________维护。
在一个完整的功能测试过程中,______不属于应该编写的测试文档。A.测试需求文档B.测试用例文档C.测试标准D.问题报告单
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
在进行可用性测试时关注的问题应包括()。①安装过程是否困难②错误提示是否明确③GUI接口是否标准④登录是否方便⑤帮助文本是否上下文敏感
随机试题
普通碳素结构钢是怎样编号的?试举例说明。
群体压力
男,结扎术后6年。睾丸活检:曲细精管局部管腔增大,上皮变薄,但曲细精管的各级生精上皮、精原细胞、精母细胞到精子都正常存在,间质细胞的组织形态亦属正常。下列哪项功能受到影响
女性,23岁,发作性头痛、呕吐4年,每月发作1~2次,持续2~3个小时,均于月经前发作,头痛前没有明显的预感,发作间期如常人。该患者的病最可能是
A.神经系统毒作用B.心血管系统毒作用C.生殖系统毒作用D.造血系统毒作用E.变态反应化妆品中含有下列的成分,能分别产生上述不同的全身毒作用
识别抗原肽,提呈抗原的表面功能分子是
关于分子生物学测定细胞因子,评价正确的是
在一个较长时期中,不规则波动的随机因素往往可以相互抵消。()
全球约有7000多种语言,每隔两周就有一种语言消失。研究人员通过“民族语"在线数据库。收集到全球7000多种语言中的649种语言使用率上升或下降的信息。研究发现,语言消失多发生在温带地区,而非热带地区或山区,原因可能是前者在交通上更为便利。研究者认为,经济
下面是选自毛泽东《新民主主义论》一文中的一组材料:材料1……然而中国资产阶级民主主义革命,自从1914年爆发第一次帝国主义世界大战和1917年俄国十月革命在地球六分之一的土地上建立了社会主义国家以来,起了一个变化。……因为第一次帝国主义世界
最新回复
(
0
)