首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以
现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以
admin
2015-06-03
64
问题
现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计所得类图如图16-1所示。
采用该设计模式的原因在于:系统解析BMP、GIF与/PEG文件的代码仅与文件格
式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。
【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)f/*调用Linux系统的绘制函数绘制像素矩阵*/}
};
class Image{
public:
void setImp(ImageImp *imp){(1) =imp;}
virtual void parseFile(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)new Winlmp() (6)imagel->setlmp(Imagelmpl) (7)17
解析
本题考查基本面向对象设计模式的运用能力。
由文字描述和UML结构图可知BMP、GIF与JPEG是Image的子类,分别负责读取不同格式的文件。Imagelmp的主要任务是将像素矩阵显示在屏幕上,它的两个子类Winlmp、Linuxlmp分别实现Windows系统和Linux系统上的图像显示代码。空(1)处主要设置在哪个平台上进行实现,由于该类的成员变量也是imp,与参数相同,因此应填this->imp。同理,该成员变量的类型和参数的类型应保持相同,故空(2)处应填Imagelmp。空(3)处需要根据imp成员变量存储的实现对象来显示图像,应填imp->doPaint(m)。在空(4)处需要生成一个BMP对象,故应填new BMP(),在空(5)处需要生成一个Winlmp对象,故应填new WinlmpO,空(6)处应填imagel->setlmp(Imagelmpl),采用Bridge(桥接模式)能够将文件分析代码和图像显示代码分解在不同的类层结构中,如果不考虑Matrix等类,那么最后需要设计的类包括2个父类,分别为文件格式子类和操作系统平台类,故系统需要支持10种格式的图像文件和5种操作系统至少需要17个类。
转载请注明原文地址:https://kaotiyun.com/show/1dDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
请在(1)、(2)、(3)、(4)空白处填写恰当的内容。Web客户机与服务器共同遵守(1)协议,其工作过程是;Web客户端程序根据输入的(2)连接到相应的Web服务器上,并获得指定的Web文档。动态网页以(3)程序的形式在服务器端处理,并给客户端返
IPSec工作在TCP/IP协议栈的(1),为TCP/IP通信提供访问控制、(2)、数据源验证、抗重放、(3)等多种安全服务。IPSec的两种工作模式分别是(4)和(5)。(1)~(5)备选答案:A.应用层B.网络层C.数据链
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。在客户端除了可以用p
请在(1)~(4)空白处填写恰当的内容。DHCP的工作过程是:1)IP租用请求。DHCP客户机启动后,发出一个DHCPDISCOVER消息,其封包的源地址为(1),目标地址为(2)。2)IP租用提供。当DHCP服务器收到DHCPDI
根据你的网络工程经验,请用250字以内的文字简要描述该21层教学综合大楼网络层次结构设计的要点。(不要求画图)请用300字以内的文字,以提纲形式描述该21层教学综合大楼综合布线设计的方案要点。
如果ping127.0.0.1(本地循环地址),如果该地址无法Ping通,则说明了是什么原因?什么命令是一个监控TCP/IP网络的实用的工具,它可以显示实际的网络连接以及每一个网络接口设备的状态信息?什么命令是把网卡物理地址与IP静态地址捆绑在一起?
阅读以下说明,回答问题。【说明】网络地址转换(NAT)的主要目的是解决IP地址短缺问题以及实现TCP负载均衡等。在如图5-5所示的设计方案中,与Internet连接的路由器采用网络地址转换。【问题】请根据路由器的NAT表和
阅读以下有关传统局域网络运行和维护的叙述,将应填入(n)处的字句写在对应栏内。在对网络运行及维护前首先要了解网络,包括识别网络对象的硬件情况、判别局域网的拓扑结构和信道访问方式、确定网络互联以及用户负载等。常见的3种拓扑结构是星形、(1)与(2)拓
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整在图4-8所示的网络拓扑结构中,无线接入点AP1控制的所有终端组成一个(7)。最适合在图4-8所示的ADSL接入网上实时传输视频数据的MPEG系列标准是
阅读以下基于VPN网络互连的网络规划设计的技术说明,根据要求回答问题1至问题3。【说明】某软件开发公司总部和子公司A、子公司B分别位于3个不同的省城,公司总部通过一台带VPN功能的防火墙与Internet连接。该防火墙支持PPTP、L2TP、IP
随机试题
在UML.的关系约束中,表示分层关系的约束是
当pH及标准重碳酸盐增高,而PaCO2>6.67kPa时,则可能存在___________。
患者男,60岁。因“声音嘶哑半个月余伴咽痛”就诊,查体发现颈部可及2cm×4cm大小肿大淋巴结,颈部MRI提示:①右侧梨状窝新生物,侵及右侧声带,环状软骨部分受侵;②双侧颈部多个肿大淋巴结,最大径<6cm。下列检查对进一步确诊意义最大的是
A.口服铁剂B.5~10天C.2周D.2个月E.4~6个月
根据《外资企业法实施细则》的规定,外资企业将其财产或者权益对外抵押、转让的应当办理的手续是( )。
某多层民用建筑,采用现浇钢筋混凝土框架结构,建筑平面形状为矩形,抗扭刚度较大,属规则框架,抗震等级为二级;梁、柱混凝土强度等级均为C30。平行于该建筑短边方向的边榀框架局部立面如题图所示。假定框架梁端截面(在B轴柱边处)上部和下部配筋分别为625和4
有一个道德水平不高的人去图书馆看书,他看见书上有些漂亮的图片,就偷偷地撕下页码为21、42、84、85、151、159、160、180这几页。请问:这个人一共撕下()张纸?
意外事件:指因当事人故意或过失以外的偶然因素而发生的事故。根据上述定义,下列选项属于意外事件的是()。
语法化
CA安全认证中心可以()。
最新回复
(
0
)