首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2013年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.5所示。 根据绘图软
(2013年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.5所示。 根据绘图软
admin
2018-07-27
68
问题
(2013年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.5所示。
根据绘图软件的扩展性要求,该绘图软件将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图10.16所示的类图。
【Java代码】
______(1),Drawing{
______(2);
______(3);
}
class DP1{
static public void draw_a_line(double x1,double y1,double x2,double y2)
{/*代码省略*/}
static public void draw_a_circle(double x,double y,double r){/*代码省略)/}
};
class DP2(
static public void drawline(double x1,double x2,double y1,double y2)
{/*代码省略*/}
static public void drawcircle(double x,double y,double r){/*代码省略*/}
};
class V1Drawing implements Drawing{
public void drawLine(double x1,double y1,double x2,double y2){
/*代码省略*/}
public void drawCircle(double x,double y,double r){ ______(4);}
}l
class V2Drawing implements Drawing{
public void drawLine(double x1,double y1,double x2,double y2) {
/*代码省略*/}
public void drawCircle(double z,double y,double r){ ______(5);}
};
abstract class Shape{
private Drawing dp;
_____(6);
Shape(Drawing dp){_dp=dp;}
public void drawLine(double x1,double y1,double x2,double y2){
dp.drawLine(xl,yl,x2,y2);}
public void drawCircle(double X,double y,double r){一dp.drawCircle(x,y,
r);}
};
class Rectangle extends Shape {
private double_x1 _x2 _y1,_y2;
public Rectangle(Drawing dp,double x1,double y1,double x2,double y2)
{/*代码省略*/}
public void draw(){/*代码省略*/ }
};
Class Circle extends Shape{
private double_x,_y,_r;
public Circle(Drawing dp,double x,double y,double r){/*代码省略*/
}
public void draw(){drawCi rcle(X,Y,r); )
};
选项
答案
(1)abstract class (2)public abstract void drawLine(double x1,double y1,double x2,double y2) (3)public abstract void drawCircle(double x,double y,double r) (4)DP1.draw_a_circle(x,y,z) (5)DP2.drawcircle(x,y,z) (6)public abstract void draw()
解析
本题考查桥接模式的概念及应用。桥接模式将抽象与其实现解耦,使它们都可以独立地变化。也就是说:将一组实现与另一组使用它们的对象分离。这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)。
Java语言中声明抽象函数用abstract,且每个函数都需要声明访问类型。对照试题2的代码可以看出,空(1)处应填入abstract class。Drawing是一个虚拟基类,里面包含了希望不同策略实现的算法。派生类V1Drawing、V2Drawing都派生自Drawing,对基类中希望实现的算法都作了具体实现,且它们都含有drawLine和drawCircle函数,所以Drawing类中缺失的应该是这两个算法,于是空(2)处应填入public abstract void drawLine(double x1,double y1,double x2,double y2),空(3)处应填入public abstract void drawCircle(double x,doubley,double r)。DP1和DP2中包含了绘制Line和Circle的具体实现的static方法,因此在
V1Drawing、V2Drawing类中可以直接进行调用,空(4)处应填入DP1.draw_a_circle(x,y,z),空(5)处应填入DP2.drawcircle(x,y,z)。Shape类派生出Rectangle和Circle类,里面都含有draw方法,但是具体draw方法的实现却不相同,所以空(6)处应填入public abstract void draw()。
转载请注明原文地址:https://kaotiyun.com/show/1zxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,将应填入(n)处的解答填写在对应栏内。【说明】某网络结构如图5-7所示,如果Router3与网络4之间的线路突然中断,按照RIP路由协议的实现方法,路
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。目前在使用ADSL访问Internet时,要不要收取电话费?
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。ADSL有哪两种IP地址的分配方式?
阅读以下说明,回答问题1~6。【说明】ADSL是接入Internet的一种宽带技术,如图2-2所示为一台带网卡的PC机采用ADSL接入Internet的网络结构图。
阅读以下说明,回答问题1和问题2。【说明】二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图2-7所示,采用L2TP来实现网络安全。
阅读以下关于RIP动态路由配置的技术说明,结合网络拓扑图回答问题1至问题3。[说明]某大学城局域网的网络拓扑结构如图7-18所示,图中路由器R1、R2,R3均运行基于距离矢量算法的RIP路由协议,并且图中给出了路由器R1、R2、R3各端口的IP地
由于面向3G移动电话的电子商务网站看不到用户进行销售服务,因此,对用户身份进行认证是必要。通常,在Internet中进行电子签名的认证过程如下:①文件的发送者将要发送的文件生成(1);②用发送者的(2)对摘要加密后,将其添加到文件中;
Samba的工作原理是:让(1)和NetBIOS这两种协议运行于TCP/IP通信协议之上,且通过Windows的(2)协议让用户的Linux计算机可以在Windows的网络邻居上被看到。Samba服务器配置工具是用来管理Samba共享、用户及基本服
认真阅读以下实现VLAN间路由的配置技术说明,根据要求回答问题1至问题6。【说明】当交换机上的VLAN数量很多时,通常会采用路由器快速以太网子接,及IEEE802.1Q封装对VLAN间的数据进行路由。在如图3-12所示的拓扑图中,在交换机
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
随机试题
麻花钻的顶角增大时,前角()。
关于DIC不正确的是
患者,女,30岁。因宫外孕破裂大出血入院。查体:面色苍白,脉搏140次/min,血压60/40mmHg。3天后,患者在输液过程中突然出现咳嗽、呼吸困难、气促、咳粉红色泡沫痰,应考虑为
统筹法计算的基数不包括()。
TheCaliforniaregionboastsawidevarietyofclimatesandgeographicalfeatures,rivalinganyotherareaofcomparabledimensi
划分唯物主义和唯心主义的标准是()。
阅读以下文字,完成下列问题日常工作中,如果一件事发展得太过顺利,我们总会隐隐觉得有哪里不对,这样的直觉是有道理的。澳大利亚和法国的研究者们最近在某学术期刊上发表了一篇文章,说明了为什么当所有的证据都指向同一个结果时,它反而可能有问题。他们将此称之
实用主义教育学的主要代表人物是______。
Directions:Forthispart,youareallowedthirtyminutestowriteashortessayentitledPressureinModernLife.Youshouldw
Makingchoicesishard.ThatwouldbewhyresearcherMoranCerfhaseliminateditfromhislife.Asarule,healwayschoosesth
最新回复
(
0
)