首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表17—1所示。 该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表17—1所示。 该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避
admin
2014-11-13
63
问题
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。
【说明】
欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表17—1所示。
该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图17—2所示的类图。
[Java代码]
(1)Drawing(
(2) ;
(3) ;
}
ciass DPI(
static public void draw aline(double xl,double y1,double x2,double y2)
(/*代码省略*/)
static public void draw—a—circle(double x,double y,double r)(/*代码省略
*/)
};
Class DP2{
static pubiic void drawline(double x1,double x2,double y1,double y2)
(/*代码省略*/)
static public void drawcircle(double x,double Y,double r)(/*代码省略*/)
};
class VlDrawing implements Drawing(
public void drawLine(double xl,double yl,double x2,doubIe y2)(/*代码省
略*/)
public void drawCircle(double X,double Y,double r)( (4) ; )
};
class V2Drawing implementS Drawing(
public void drawLine(double xl,double yl,double x2,double y2){/*代码省
略*/)
public void drawCircie(doubie X,double y,double r)( (5) ; )
};
abstract class Shape(
private Drawing—dp;
(6) ;
Shape(Drawing dp){_dp=dp;)
publ ic void drawLine(double xl,double yl,double x2,double y2)(_
dp.drawLine(x1,y1,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 xl,double yl,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()(drawCircle(_x,_y,_r); }
};
选项
答案
(1)abstract C1as s; (2)publiC abstract void drawLine(double x1,double y1,double x2,double y2) ; (3)public absttact void drawCircle(double x,double y,double r); (4)DPI.draw—a—ircle(x,y,r);(5)DP2.drawCircie(x,y,r); (6)publiC abstract void draw();
解析
本题考查Bridge桥接模式的概念及应用,将抽象与其实现解耦,使它们都可以独立地变化。大致意思是说:将一组实现与另一组使用他们的对象分离。java语言中声明抽象函数用abstract,且每个函数都需要声明访问类型。对照试题五的代码我们可以看出: (1)为abstract class;这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)Drawing~一个虚拟基类,里面包含了希望不同策略实现的算法,派生类V1Drawing,V2Drawing都派生19Drawing,对基类中的希望实现的算法都作了具体实现,且它们都含有drawLine和drawCircle函数,所~Draw类中缺失的应该是这两个算法,于是(2)public abstract void drawLine(double x1,double y1,double x2,double y2);(3)public abstract void drawCircle(double x,double y,double r);DPI$~IDP2包含了绘制Line和Circle的具体实现的Static方法,因此在VlDrawing,V2Drawing类中可以直接进行调用它们(4)
DPI.draw—a—circle(x,y,r)(5)DP2.drawCircle(x,y,r);Shape类派生出Rectangle和Circle类,里面都含有draw方法,但是具体draw方法的实现却不相同,所以(6)public abstract void draw。
转载请注明原文地址:https://kaotiyun.com/show/FpDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
阅读以下说明,回答问题1至问题6。【说明】某公司在WindowsServer2003中安装IIS6.0来配置Web服务器,域名为www.abc.com。
销售部的网络号是(1),广播地址是(2):技术部的网络号是(3),广播地址是(4);每个子网可用的IP地址有(5)个。在网关计算机上使用以下路由命令创建两个默认的路由:routeadd-net192.168.1.0255.255.2
销售部的网络号是(1),广播地址是(2):技术部的网络号是(3),广播地址是(4);每个子网可用的IP地址有(5)个。Linux网关计算机有两个网络接口(eth0和eth1),每个接口与对应的子网相连接。该计算机/etc/sysconfig,/
DHCP允许服务器向客户端动态分配Ⅲ地址和配置信息。客户端可以从DHCP服务器获得(1)。(1)A.DHCP服务器的地址B.Web服务器的地址C.DNS服务器的地址在DHCP服务器安装完成后,DHCP控制台如图3-4所示。
DHCP允许服务器向客户端动态分配Ⅲ地址和配置信息。客户端可以从DHCP服务器获得(1)。(1)A.DHCP服务器的地址B.Web服务器的地址C.DNS服务器的地址图3-3是DHCP服务器安装中的添加排除窗口。 参照图
从网络拓扑图中可以看出该校园网采用了分层设计结构,回答以下问题:1.交换机按照所处的层次和完成的功能分为三种类型:核心交换机、汇聚交换机和接入交换机。下表是学校采购的三种交换机,请根据交换机的技术指标确定交换机的类型。在答题纸对应的解答栏内
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
随机试题
资产评估机构和人员在占有相关资产评估资料的基础上,进行评定估算环节的工作,主要包括哪些工作步骤()
在Word多文档窗口编辑方式下转换文档窗口的方法有__________。
甘草的归经是
65岁以上单纯主动脉瓣狭窄的常见病因是
“借款单”属于( )。
请写出国家强制性产品认证制度的主要特点。
银行汇票的实际结算金额一经填写不得更改,更改实际结算金额的银行汇票无效。()
在科学教育心理学诞生之前,对科学教育心理学的诞生产生重要影响的学者有
C
A、 B、 C、 B
最新回复
(
0
)