首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
现欲实现一个图像浏览系统,要求该系统能够显示.BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性
现欲实现一个图像浏览系统,要求该系统能够显示.BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性
admin
2017-08-31
94
问题
现欲实现一个图像浏览系统,要求该系统能够显示.BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计所得类图如图16.1所示。
采用该设计模式的原因在于:系统解析BMP、GIF与IPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。
【C++代码】
class Matrix{ //各种格式的文件最终都被转化为像素矩阵
;//此处代码省略
};
class ImageImp{
public:
virtUal void doPaint(Matrix m):0; //显示像素矩阵m
};
class WinImp:public ImageImp{
public:
void doPaint(Matrix m){/*调用Windows系统的绘制函数绘制像素矩阵*/}
};
class LinuxImp:public ImageImp{
public:
void doPaint(Matrix m){/*调用Linux系统的绘制函数绘制像素矩阵*/ }
};
class Image{
public:
void setImp(ImageImp*imp){ (1) =imp;)
virtual void parseFi le(string fileName)=0;
protected:
(2) *imp;
};
class BMP:public Image{
public:
void parseFile(string fileName){
//此处解析BMP文件并获得一个像素矩阵对象m
(3);//显示像素矩阵m
}
};
class GIF : public Image{
//此处代码省略
};
class JPEG :public Image{
//此处代码省略
};
void main( ){
//在windows操作系统上查看demo.bmp图像文件
Image*imagel= (4);
ImageImp*imageImpl= (5);
(6);
imagel一>parseFile(“demo.bmp” );
}
现假设该系统需要支持10种格式的图像文件和5种操作系统,不考虑类Matrix,若采用桥接设计模式则至少需要设计(7)个类。
选项
答案
(1)this->imp (2)Imagelmp (3)imp->doPaint(m) (4)new BMP() (5)ngw WinImp() (6)imagel一>setImp(Imagelmpl) (7)17
解析
本题考查基本面向对象设计模式的运用能力。
由文字描述和UML结构图可知BMP、GIF与JPEG是Image的子类,分别负责读取不同格式的文件。Imagelmp的主要任务是将像素矩阵显示在屏幕上,它的两个子类Winlmp、Linuxlmp分别实现Windows系统和Linux系统上的图像显示代码。空(1).处主要设置在哪个平台上进行实现,由于该类的成员变量也是imp,与参数相同,因此应填this->imp。同理,该成员变量的类型和参数的类型应保持相同,故空(2)处应填ImageImp。空(3)处需要根据imp成员变量存储的实现对象来显示图像,应填imp->doPaint(m)。在空(4)处需要生成一个BMP对象,故应填。new BMP(),在空(5)处需要生成一个WinImp对象,故应填new Winlmp(),空(6)处应填imagel一>setlmp(Imagelmp 1),采用Bridge(桥接模式)能够将文件分析代码和图像显示代码分解在不同的类层结构中,如果不考虑Matrix等类,那么最后需要设计的类包括2个父类,分别为文件格式子类和操作系统平台类,故系统需要支持10种格式的图像文件和5种操作系统至少需要17个类。
转载请注明原文地址:https://kaotiyun.com/show/pODZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下面是Web页面处理中3个步骤,请将其进行正确排序。①Web服务器接收到Web页面请求后,寻找所请求的Web页面,并将所请求的Web页面传送给Web浏览器。②Web浏览器接收到所请求的Web页面,并将它显示出来。③Web浏览器向一个
在OSI参考模型中,NetBIOS工作在哪一层?Windows组网中采用什么工具来实现域的创建和管理?在什么情况下需要设置“主域”?
从工作的频段、数据传输速率、优缺点以及它们之间的兼容性等方面,对IEEE802.11a、IEEE802.11b和IEEE802.11g进行比较。1.将(1)处空缺设备的名称填写在相应位置。
阅读以下应用L2TPv2协议实现VPN安全接入的技术说明,根据要求回答问题1至问题5。【说明】某企业应用L2TPv2协议部署企业的虚拟专用网(VPN),以方便企业的VIP用户及出差员工通过公共Internet安全地访问企业内部LAN资源,其网络拓
阅读以下关于交换机VTP协议配置的技术说明,根据要求回答问题1至问题4。【说明】利用VLAN技术可以把物理上连接的网络从逻辑上划分为多个不同的虚拟子网,可以对各个子网实施不同的管理策略。利用showvtpstatus命令在某台交换机的特权模式
某公司申请到的IP地址为193.136.99.0,如图7-4所示,为了便于管理,需建立4个子网(要求每个子网的掩码必须相同),请回答如下问题。
请说出(1)、(2)、(3)、(4)、(5)对应行的含义。(1)图6-3是Windowsxp的DNS设置窗口,请指出图6-3中配置错误之处。(2)在Windowsxp系统中,根据图6-3中的相关信息,请写出默认路由。(3)图6-
阅读以下说明,回答问题1和问题2。【说明】某学校拟组建一个小型校园网,具体设计如下:1.设计要求。(1)终端用户包括:48个校园网普通用户;一个有24个多媒体用户的电子阅览室;一个有48个用户的多媒体教室(性能要求高于电子阅
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
随机试题
患者,男,45岁。患有胃炎病史6年,持续性上腹部刀割样剧痛2小时入院。全腹有腹膜刺激征,腹部平片示膈下有游离气体,腹腔穿刺为黄色、含胆汁、无臭的液体。患者经确诊后准备行胃大部切除术,护士遵医嘱给予胃肠减压,其主要目的是
日本分体吸虫的感染对象比较广泛,不属于日本分体吸虫感染对象的是
川贝的药理作用是()。
关于肺小细胞未分化癌的叙述,下列哪项不正确?()
根据《危险废物贮存污染控制标准》,危险废物贮存设施的场界应位于居民区()以外,地表水域150m以外。
钱某持盗来的身份证及伪造的空头支票,骗取某音像中心VCD光盘4000张,支票票面金额4万元。对钱某骗取光盘行为的准确定性是()。[2013年6月真题]
可能适合与治理层讨论的计划方面的其他事项包括()。
0,2,3,5,8,10,15,()
根据我国《宪法》的规定,可以提出宪法修改有效议案的主体是()。
贯彻习近平新时代中国特色社会主义经济思想,要求我们以更大的力度、更实的措施全面深化改革、扩大对外开放,贯彻新发展理念,推动经济高质量发展,建设现代化经济体系,不断增强我国经济实力、科技实力、综合国力,让社会主义市场经济的活力更加充分地展示出来。当前和今后一
最新回复
(
0
)