首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以
现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以
admin
2015-06-03
51
问题
现欲实现一个图像浏览系统,要求该系统能够显示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://jikaoti.com/ti/qsi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。DNS系统中反向查询
阅读以下说明,回答问题1至问题3,将解答填入对应的解答栏内。【说明】某校园网申请到了C类网络地址块202.115.0.0/24~202.115.3.0/24。根据网络规划需求,网络中心、图书馆、教学实验楼以及行政办公楼的各个部门需划分到不同网段。
解释图10-2中的PVC和SVC。支持可变比特率(VBR)业务;支持面向连接的业务,其比特率是可变的。常见业务为压缩的分组语音通信和压缩的视频传输。请问根据其业务描述是属子图10-3中高层中的哪一级?
若采用电话线方式上网,并按要求在计算机连入网络的同时能通电话,连网速率高于500Kbps,可以选用哪种技术方案?其最高通信速率为多少?依据ISO/OSI参考模型对无线扩频网络设备进行分类,可以分为哪几种类型?用无线扩频设备实现网络互连需要何种配套设备
若采用电话线方式上网,并按要求在计算机连入网络的同时能通电话,连网速率高于500Kbps,可以选用哪种技术方案?其最高通信速率为多少?若采用电视铜缆接入计算机主干网络,用户端需增添什么设备?网络通信速率为多少?
阅读以下有关网络设备安装与调试的叙述,分析设备配置文件,回答问题1至问题3。现以一台远程访问服务器(RemoteAccessServer,RAS)Cisco2509、RJ45为例来说明。第一步,准备安装与调试所需的设备,主要包括RAS
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整请将以下(11)~(14)空缺处的内容填写完整,并帮助郭工程师解释产生以下网络故障的原因。该网络建成后一直使用正常,但最近发现无线覆盖区域A、B
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整IEEE802.11标准采取了认证和加密措施,其中(9)具有控制图4-8所示的拓扑结构中无线接待室WLAN接入的能力。IEEE802.11标准提供WEP
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。某商务公司在全国各城市共有15个分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。每个
随机试题
关于腰区的胸腰筋膜,下列哪项是错误的()
(2011年4月)公证书复查程序适用于当事人、公证事项的利害关系人_______。
在运用一般物价水平会计进行利润表调整时,对一般的收入与费用项目采用的物价指数是()
试述里格斯认为的“棱柱型”行政的五个一般特征。
频谱多普勒技术的调节方法不正确的是
大黄素型和茜草素型两类蒽醌化合物在结构上的主要区别是
一些社会研究课包括了历史、地理、经济学、社会学、政治学等学科内容,那么我们一般称这种课程为()。
设随机变量(X,Y)的联合概率密度为(Ⅰ)求随机变量Y关于X=x的条件密度;(Ⅱ)讨论随机变量X与Y的相关性和独立性.
Withtheworld’spopulationestimatedtogrowfromsixtoninebillionby2050,researchers,businessesandgovernmentsarealre
A、It’slocatedinacollegetown.B、It’scomposedofagroupofoldbuildings.C、Itsclassroomsarebeautifullydesigned.D、Its
最新回复
(
0
)