首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x
阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x
admin
2009-02-15
56
问题
阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。
【说明】
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用DP1还是DP2。
为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图9-6显示了各个类间的关系。
这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是 Java语言实现,能够正确编译通过。
【Java代码】
//DP1.java文件
public class DP1{
static public void draw_a line(double x1,double y1,
double x2,double y2){
//省略具体实现
}
}
//DP2.java文件
public class DP2{
static public void drawline(double x1,double y1,
double x2,double y2){
//省略具体实现
}
}
//Drawing.java文件
(1) public class Drawing{
abstract public void drawLine(double x1, double y1, double x2, double y2);
}
//V1Drawing.java文件
public class V1Drawing extends Drawing{
public void drawLine(double x1, double y1, double x2, double y2){
DP1.draw_a_line(x1,y1,x2,y2);
}
}
//V2Drawing.java文件
public class V2Drawing extends Drawing{
public void drawLine(double x1,double y1,
double x2, double y2)(//画一条直线
(2);
}
}
//Shape.java文件
abstract public class Shape{
abstract public void draw();
private (3) _dp;
Shape(Drawing dp){
_dp=dp;
}
protected void drawLine(double x1,double y1,
double x2, double y2){
(4);
}
}
//Rectangle.java文件
public class Rectangle extends Shape{
private double_x1,_x2,_y1,_y2;
public Rectangle(Drawing dp,
double x1,double y1,
double x2,double y2){
(5);
_x1=x1;_x2=x2;
_y1=y1;_y2=y2;
}
public void draw(){
//省略具体实现
}
}
选项
答案
(1) abstract (2) DP2.drawline(x1,x2,y1,y2) (3) Drawing (4) _dp.drawLine(x1,y1,x2,y2)
解析
由类Drawing的drawLine()方法是abstract的,因此Drawing要么是接口,要么是抽象类,在此为抽象类,故空(1)应填abstract。
空(2)是调用DP2系统的相应方法,可参照DP1的对应函数的函数体,但要注意参数不完全相同,应填DP2.drawline(x1,x2,y1,y2)。
_dP属性是用来存储Drawing对象的,参照Shape的构造函数可确认这一点,空(3)应填 Drawing。
Shape类的drawLine方法是通过调用Drawing对应的方法来实现所需要的功能,因此空(4)应填_dp.drawLine(x1,y1,x2,y2)。
空(5)显然是基类构造函数,应填super(dp)。
(5) super(dp)
转载请注明原文地址:https://www.kaotiyun.com/show/4gDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某开发小组欲开发一个软件系统,实现城市中不同图书馆的资源共享,包括实体资源和电子资源,共享规则可能在开发过程中有变化。客户希望开发小组能尽快提交可运行的软件,且可以接受多次交付。这种情况下最适宜采用(31)开发过程模型。主要是因为这种模型(32)。(
可用于编写独立程序和快速脚本的语言是()。
在进行产品评价时,评价者需要对产品部件进行管理和登记,其完整的登记内容应包括(35)。①部件或文档的唯一标识符。②部件的名称或文档标题。③文档的状态,包括物理状态或变异方面的状态。④请求者提供的版本、配置和日期信息。
以下关于模块耦合关系的叙述中,耦合程度最低的是__________(39),其耦合类型为___________(40)耦合。(40)
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则完成该项目的最少时间为_____________(34)天。活动BD最多可以晚开始______________(35)天而不会影响整个项目的进度。(34)
计算机各功能部件之间的合作关系如下图所示。假设图中虚线表示控制流,实线表示数据流,那么a、b和c分别表示(5)。
V模型是具有代表意义的测试模型,以下理解正确的是______。A.V模型认为测试阶段是与开发阶段并行的B.V模型是软件开发螺旋模型的变种,它反映了测试活动与分析和设计的关系C.V模型造成需求分析阶段隐藏的问题一直到后期的验收测试才被发现D.V模型是
根据你的网络工程经验,请用250字以内的文字简要描述该21层教学综合大楼网络层次结构设计的要点。(不要求画图)该21层教学综合大楼的部分网络拓扑结构如图1-22所示,其中L3_switch1、L3_switch2为该教学综合大楼的两台核心交换机;Swi
阅读以下有关网络规划的叙述,回答问题1、问题2和问题3。网络工程是一项复杂的系统工程,一般可分为网络规划、网络设计、工程实施、系统测试验收和运行维护等几个阶段。网络规划是在需求分析的基础上,进行系统可行性分析和论证,以确定网络总体方案。网络规划阶段
随机试题
下列哪项是对扮演角色的教学方法的描述()
下列作家中属于少数民族的有()
张某,男性,43岁。大便数日一行,欲便不畅,伴有胸胁胀满,腹中胀满,善太息,寐不宁,舌苔薄腻,脉弦,其诊断是
某测绘项目采用航空摄影测量方法生产某测区l:2000比例尺的数字地形图。测区面积约5000km2,东西长约100km,南北长约60km,测区内陆地最低点高程为20m。最高点高程为200m。原始摄像采用真彩色彩胶片航空摄像获取,摄影机型号为RC—30,像幅为
会计制度规定()。
在会计职业活动中,如果发生道德冲突时要坚持原则,把()利益放在第一位。
公司2012年设立时注册资本1000万元,资本公积200万元。公司2013年新启用设置账簿20本.其中包括实收资本、资本公积账簿各1本,实收资本和资本公积的金额与设立时相比各减少100万、50万;(1)2013年3月份签订以物易物交易合同一份。用自产产品
《商业银行法》规定,商业银行贷款余额与存款余额的比例()。
A、Tellherthatthedoctorrefusestotalkwithher.B、Apologizetoherandaskforherforgiveness.C、Tellherthatsheisintr
【S1】【S9】
最新回复
(
0
)