软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4
往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html
软件设计师案例分析每日一练试题(2024/5/27)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/27
点击查看:更多软件设计师习题与指导
软件设计师案例分析每日一练试题内容(2024/5/27)
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表6-1所示。
该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图6-1所示的类图。
图6-1 类图
【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 y1, double x2 ,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) ;}
}
class V2Drawing implements Drawing{
public void drawLine(double x1, double y1, double x2 ,double y2){/*代码省略*/}
public void drawCircle (double x, 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(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 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(){drawCircle(_x,_y,_r);}
}
信管网试题答案与解析:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/27
信管网考友试题答案分享:
信管网试题答案与解析:
www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/27