首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2013年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.5所示。 根据绘图软
(2013年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.5所示。 根据绘图软
admin
2018-07-27
65
问题
(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://www.kaotiyun.com/show/1zxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下有关网络设计的叙述,分析网络结构,回答问题1、问题2和问题3。某企业从20世纪50年代中期开始使用PC,历经3+网络、NOVELL网络的应用,后着手组建企业网络。经过需求分析和论证,设计出网络方案如图3-2所示。
目前,通过移动电话接入互联网所采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器,存储资源代码的PC、应用网关、存储私人信息的PC、电子商务系统)中,哪些应放在DMZ中,哪些应放在内网中?并请给予简要说明。
某单位拟建立一个Intranet,建立自己的Web服务器、DNS服务器,E-mail服务器和内部业务服务器,有一批客户机联网,要求这些机器有的可以到Internet上,只允许访问自己的Web服务器。请你做出规划,解决如下问题。
阅读以下说明,回答问题1至问题3。【说明】路由器中IP访问控制列表能够帮助控制网上包的传输。
认真阅读以下实现VLAN间路由的配置技术说明,根据要求回答问题1至问题6。【说明】当交换机上的VLAN数量很多时,通常会采用路由器快速以太网子接,及IEEE802.1Q封装对VLAN间的数据进行路由。在如图3-12所示的拓扑图中,在交换机
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
认真阅读下列有关Linux操作系统环境下配置Apache服务器的技术说明,根据要求回答问题1至问题5。【说明】随着电子商务日益普及,A公司建构了一台装有RedhatLinux9.0操作系统的虚拟服务器,为各类客户提供网上架构商务站点的Web服
随机试题
现代工作分析思想起源于()
在中国文学史上,开创豪放词派的词人是()。
成人牙周炎的早期主要症状中没有
A.希波克拉底B.盖伦C.《希波克拉底全集》D.《罗迦集》E.《日内瓦宣言》西方医德的奠基人是
计算机病毒能够破坏计算机系统,甚至使整个计算机瘫痪,危害极大。一般来说,计算机病毒是()。
在Excel中,将3、4两行选定,然后进行插入行操作,下面表述正确的是()。
影响纯粹利率高低的因素主要有()。
2020年初,新冠肺炎疫情突如其来,各地政府纷纷采取严格的防控措施。2020年2月,中国财富管理50人论坛(CWM50)主办了“新冠肺炎疫情对经济和市场的影响及对策”专题研讨会。请结合理论和实际情况分析新冠肺炎疫情与SARS疫情相比哪个对经济和市场的影响更
GeoffreyChaucerwasanimportantEnglishpoetinthefourteenthcentury,hisbestknownis______.
盲人小伙儿打车遇上一位好心的出租车司机。怎么都不收钱。司机说,“这不算什么。我挣钱比你容易”,下一位乘客得知此事后,硬是多付了车费,鼓励司机继续行善,“这不算什么,我挣钱比您也容易点”。谈谈你的看法。(2012年5月27日下午河北省省直公务员面试真题)
最新回复
(
0
)