关于局TDP配置表中DP号域,下列说法正确的是()

A:该表中要配置一个DP2的记录,因为呼叫是在DP2触发的 B:该表中要配置一个DP3的记录,因为呼叫是在DP3触发的 C:该表中要配置一个DP2的记录,因为接入码是在DP2触发的 D:该表中要配置一个DP3的记录,因为接入码是在DP3触发的

[说明] 某绘图系统中有两个画矩形的程序DP1和DP2。程序DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,程序DP2则用函数drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。若将“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)和具体实现不同,则将这种应用称为Bridge(桥接)模式。图8-10显示了该系统与矩形绘制相关的各个类之间的关系。系统始终只处理3个对象:Shape对象、Drawing对象,以及DP1或DP2对象。以下是Java语言实现,能够正确编译通过。 [Java代码] //DP1.jav__件 public class DP1 static public void draw a line(double x1,double y1,double x2,double y2) ... //省略具体实现 //DP2.jav__件 public class DP2 static public void drawline(double x1,double y1,double x2,double y2) ... //省略具体实现 //Drawing. jav__件 abstract public class Drawing (1) public void drawLine(double x1,double y1,double x2,double y2); //V1Drawing.jav__件 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.jav__件 public class V2Drawing extends Drawing public void drawLine(double x1,double y1,double x2,double y2) //画一条直线 (2) ; //Shape.jav__件 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.jav__件 public class Rectangle (5) private double _x1,_x2,_y1,_ y2; public Rectangle(Drawing dp, double x1,double y1, double x2,double y2) (6) ; _x1=x2; _x2=x2; _y1=y1; _y2=y2; public void draw( ) … //省略具体实现

abstract (B) DPB.drawline(xA,xB,yA,yB)
(C) Drawing (D) dp.drawLine(xA,yA,xB,yB)
(E) extends Shape (F) super(dp)

[说明] 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1, y1, x2, y2)画一条直线,DP2则用drawline(x1, x2, y1, y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图显示了各个类间的关系。 这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。 [C++代码] class DP1 public: static void draw_a_line(double x1, double y1,double x2, double y2) //省略具体实现 ; class DP2 public: static void drawline(double x1, double x2, double y1, double y2) //省略具体实现 ; class Drawing public: ______ void drawLine(double x1,double y1,double x2,double y2)=0 ; class ViDrawing : public Drawing public: void drawLine(double x1, double y1, double x2, double y2) DP1∷draw_a_line(x1, y1, x2, y2); ; class V2Drawing : public Drawing public: void drawLine(double x1, double y1, double x2, double y2) ______; ; class Shape private: ______ _dp; public: Shape(Drawing *dp); virtual void draw( ) = 0; void drawLine(double x1, double y1, double x2, double y2); ; Shape∷Shape(Drawing *dp) _dp : dp; void Shape∷drawLine(double x1, double y1, double x2, double y2) //画一条直线 ______; class Rectangle : public Shape private: double _x1, _y1, _x2, _y2; public: Rectangle(Drawing *dp, double x1, double y1, double x2, double y2); void draw( ); ; Rectangle∷Rectangle(Drawing *dp, double x1, double y1, double x2, double y2) : ______ _x1 = x1; _y1 = y1; _x2 = x2; _y2 = y2 void Rectangle∷draw( ) //省略具体实现

virtual
DPB∷drawline(xA,xB,yA,yB)
Drawing
_dp->drawLine(xA,yA,xB,yB)
Shape(dp)

[说明] 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1, y1, x2, y2)画一条直线,DP2则用drawline(x1, x2, y1, y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。 为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图显示了各个类间的关系。 这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAVA语言实现,能够正确编译通过。 [Java代码] //DP1. jav__件 public class DP1 static public void draw_a_line(double x1, double y1, double x2, double y2) //省略具体实现 //DP2. jav__件 public class DP2 static public void drawline(double x1, double y1, double x2, double y2) //省略具体实现 //mrawing.jav__件 ______ public class Drawing abstract public void drawLine(double x1, double y1, double x2, double y2); //VlDrawing.jav__件 public class VlDrawing extends Drawing public void drawLine(double x1, double y1, double x2, double y2) DP1.draw_a_line(x1, y1, x2, y2); //V2Drawing.jav__件 public class V2Drawing extends Drawing public void drawLine(double x1, double y1, double x2, double y2) //画一条直线 ______; //Shape.jav__件 abstract public class Shape abstract public void draw( ); private ______ _dp; Shape(Drawing dp) _dp = dp; protected void drawLine(double x1, double y1, double x2, double y2) ______; //mectangle.jav__件 public class Rectangle extends Shape private double _x1,_x2, _y1, _y2; public Rectangle(Drawing dp, double x1, double y1, double x2, double y2) ______; _x1 = x1; _x2 = x2; _y1 = y1; _y2 = y2; public void draw( ) //省略具体实现  

abstract
DPB.drawline(xA,xB,yA,yB)
Drawing
_dp.drawLine(xA,yA,xB,yB)
super(dp)

阅读以下说明和C++代码,
[说明]
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。
[图6-1]
[*]
这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。
[C++代码]
class DP1
public:
static void draw_a_line(double x1,double y1,double x2,double y2)
//省略具体实现


class DP2
public:
static void drawline(double x1,double x2,double y1,double y2)
//省略具体实现


class Drawing
public:
(1) void drawLine(double x1,double y1,double x2,double y2)=0;
;
class V1Drawing:public Drawing
public:
void drawLine(double x1,double y1,double x2,double y2)
DP1::draw_a_line(x1,y1,x2,y2);


class V2Drawing:public Drawing
public:
void drawLine(double x1,double y1,double x2,double y2)
(2)


class Shape
privatc:
(3) dp;
public:
Shape(Drawing*dp);
virtual void draw( )=0;
void drawLine(double x1,double y1,double x2,double y2);
;
Shape::Shape(Drawing*dp)

_dp=dp;

void Shape::drawLine(double x1,double y1,double x2,double y2)
//画一条直线
(4)

class Rectangle:public Shape
privatc:
double_x1,_y1,_x2,_y2;
public:
Rectangle(Drawing *dp,double x1,double y1,
double x2,double y2);
void draw( );

Rectangle::Rectangle(Drawing*dp,double x1,double y1,double x2,double y2)
(5)

_x1=x1;_y1=yl;_x2=x2;_y2=y2;

void Rectangle::draw( )

//省略具体实现

DP2::drawline(x1,x2,y1,y2)

阅读以下函数说明和Java代码,
[说明]
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。
为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图7-1显示了各个类间的关系。
[图7-1]
[*]
这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAvA语言实现,能够正确编译通过。
[Java代码]
//DP1.Jav__件
public class DPI
static public void draw_a_line(double x1,double y1,
double x2,double y2)
//省略具体实现


//DP2.jav__件
public class DP2
static public void drawline(double x1,double y1,
double x2,double y2)
//省略具体实现


//Drawing.jav__件
(1) public class Drawing
abstract public void drawLine(double x1,double y1,double x2,double y2);

//V1Drawing.jav__件
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.jav__件
public class V2Drawing extends Drawing
public void drawLine(double x1,double y1,
double x2,double y2)//画一条直线
(2)


//Shape.jav__件
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.jav__件
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( )
//省略具体实现


DP2.drawline(x1,x2,y1,y2)


阅读以下说明和C++代码,
[说明]
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。
[图6-1]

这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。
[C++代码]
class DP1{
public:
static void draw_a_line(double x1,double y1,double x2,double y2){
//省略具体实现
}
};
class DP2{
public:
static void drawline(double x1,double x2,double y1,double y2){
//省略具体实现
}
};
class Drawing{
public:
(1) void drawLine(double x1,double y1,double x2,double y2)=0;
};
class V1Drawing:public Drawing{
public:
void drawLine(double x1,double y1,double x2,double y2){
DP1::draw_a_line(x1,y1,x2,y2);
}
};
class V2Drawing:public Drawing{
public:
void drawLine(double x1,double y1,double x2,double y2){
(2)
}
};
class Shape{
privatc:
(3) dp;
public:
Shape(Drawing*dp);
virtual void draw( )=0;
void drawLine(double x1,double y1,double x2,double y2);
};
Shape::Shape(Drawing*dp)
{
_dp=dp;
}
void Shape::drawLine(double x1,double y1,double x2,double y2)
{ //画一条直线
(4)
}
class Rectangle:public Shape{
privatc:
double_x1,_y1,_x2,_y2;
public:
Rectangle(Drawing *dp,double x1,double y1,
double x2,double y2);
void draw( );
};
Rectangle::Rectangle(Drawing*dp,double x1,double y1,double x2,double y2)
(5)
{
_x1=x1;_y1=yl;_x2=x2;_y2=y2;
}
void Rectangle::draw( )
{
//省略具体实现
}

DP2::drawline(x1,x2,y1,y2)


阅读以下函数说明和Java代码,
[说明]
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。
为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图7-1显示了各个类间的关系。
[图7-1]

这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAvA语言实现,能够正确编译通过。
[Java代码]
//DP1.Jav__件
public class DPI{
static public void draw_a_line(double x1,double y1,
double x2,double y2){
//省略具体实现
}
}
//DP2.jav__件
public class DP2{
static public void drawline(double x1,double y1,
double x2,double y2){
//省略具体实现
}
}
//Drawing.jav__件
(1) public class Drawing{
abstract public void drawLine(double x1,double y1,double x2,double y2);
}
//V1Drawing.jav__件
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.jav__件
public class V2Drawing extends Drawing{
public void drawLine(double x1,double y1,
double x2,double y2){//画一条直线
(2)
}
}
//Shape.jav__件
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.jav__件
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( ){
//省略具体实现
}
}


阅读以下函数说明和Java代码,
[说明]
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。
为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图7-1显示了各个类间的关系。
[图7-1]

这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAvA语言实现,能够正确编译通过。
[Java代码]
//DP1.Jav__件
public class DPI{
static public void draw_a_line(double x1,double y1,
double x2,double y2){
//省略具体实现
}
}
//DP2.jav__件
public class DP2{
static public void drawline(double x1,double y1,
double x2,double y2){
//省略具体实现
}
}
//Drawing.jav__件
(1) public class Drawing{
abstract public void drawLine(double x1,double y1,double x2,double y2);
}
//V1Drawing.jav__件
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.jav__件
public class V2Drawing extends Drawing{
public void drawLine(double x1,double y1,
double x2,double y2){//画一条直线
(2)
}
}
//Shape.jav__件
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.jav__件
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( ){
//省略具体实现
}
}

微信扫码获取答案解析
下载APP查看答案解析