某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection对象,则这个url对象要调用的方法是()。
A.connection()
B.URLConnection()
C.getConnection()
D.openConnection()
A.connection()
B.URLConnection()
C.getConnection()
D.openConnection()
第1题
【说明】
有时我们希望给某个对象而不是整个类添加一些功能。例如,一个图形用户界面工具箱允许你对任意一个用户界面组件添加一些特性,例如边框,或是一些行为,例如窗口滚动。使用继承机制是添加功能的一种有效途径,从其他类继承过来的边框特性可以被多个子类的实例所使用。但这种方法不够灵活,因为边框的选择是静态的,用户不能控制对组件加边框的方式和时机。
一种较为灵活的方式是将组件嵌入另一个对象中,由这个对象添加边框。我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。它将客户请求转发给该组件,并且可能在转发前后执行一些额外的动作(例如画二个边框)。透明性使得你可以递归地嵌套多个装饰,从而可以添加任意多的功能。
装饰对象结构模式的意图就是动态地给一个对象添加一些额外的职责。就增加功能来说,该模式相比生成子类更为灵活。其示意类图如图13-22所示。
程序代码13-5是该模式的一个示例,说明了如何实现用户接口装饰,函数的实现全部省略。程序中定义了VisualComponent的一个子类Decorator,我们将生成Decorator的子类以获取不同的装饰。VisualComponent类是一个描述可视对象的抽象类,它描述了绘制和事件处理的接口。Decorator的子类定义了特殊的装饰功能,BorderDecorator子类给可视组件添加一个边框,ScrollDecorator给可视组件添加滚动功能。
【程序代码13-5】
(1);
class Window
{
public:
roid SetContents (VisualComponent * contents);
};
//VisualComponent类是一个描述可视对象的抽象类
class VisllalComponent
{
public:
VisualComponent(){};
(2) void Draw(){};
Virtual void Resize(){};
};
class Decorator:public VisualComponent
{
public:
Decorator()
{
//…
};
Decorator(VisualComponent * vcom)
{
//…
};
virtual vold Draw();
virtual vold Resize();
private:
/* Decorator装饰由VisualComponent的指针实现,其在Decorator的构造函数中初始化*/
VisualComponent (3) ;
};
vold Decorator::Draw()
{
(4);//缺省实现
}
void Decorator::Resize()
{
component->Resize();//缺省实现
}
//BorderDecorator 子类为它所包含的组件添加一个边框
class BorderDecorator:public Decorator
{
public:
BorderDecorator(VisualComponent * vcom,int borderWidth)
{
//…
};
Virtual Void Draw();
private:
void DrawBorder(int);
private:
int borderWidth;
};
void BorderDecorator::Draw()
{
Decorator::Draw();
DrawBorder(_width);
}
Void BorderDecorator::DrawBorder(int Width)
{
//…
)
Void Window::SetConterlts(VlsualComponent * contents)
{
//…
}
//SerollDecorat 给可视组件添加滚动功能
class ScroliDecoratOr:public Decorator
{
public:
ScrollDecorator(VlsualComponent * vcom)
{
//…
};
//…
);
class TextView:public VisualComponent
{
//…
};
void main(void)
{
//创建一个正文视图以及放入这个正文视图的窗口
Window * window=new Window;
TcxtView * textView=new TextView;
//TextView是一个VisualComponent,它可以放入窗口中
window->SetContents(textView);
//得到一个有边界的和可以滚动的TextView,边界宽为1
window->SetContents((5));
}
第3题
A、用SqlConnection对象连接数据库,用SqlCommand对象运行存储过程来返回数据
B、用OleDbConnection对象连接数据库,用OleDbCommand对象运行存储过程来返回数据
C、配置SQL Server使它支持HTTP访问,创建XML模板来运行存储过程,在XML模板中返回数据
D、用COM interop 来创建ADODB.Connection对象,用ADODB.Command对象来运行SQL语句返回数据
第4题
A.应调用Save方法上的配置对象
B.必须将ConfigurationSaveMode.Full值作为参数传递
C.必须将ConfigurationSaveMode.Modified值作为参数传递
D.应调用SaveAs方法上的配置对象
E.应将ConfigurationSaveMode.Minimal值作为参数传递
第6题
A.一个系统要由多个产品系列中的一个来配置时
B.当一个类希望由它的子类来指定它所创建的对象时
C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时
D.当一个系统应该独立于它的产品创建、构成和表示时
第7题
A.共同选择适当的目标
B.确定服务对象的需要和问题
C.确定目标并决定目标的先后次序
D.向服务对象解释设定目标的目的
第8题
A.共同选择适当的目标
B.确定服务对象的需要和问题
C.确定目标并决定目标的先后次序
D.向服务对象解释设定目标的目的
第9题
A.共同选择适当的目标
B.确定服务对象的需要和问题
C.确定目标并决定目标的先后次序
D.向服务对象解释设定目标的目的
第10题
A.王某希望自己的儿子长成高个子,便要求儿子每天吃钙片
B.李某利用自己的职务之便,将其亲戚推荐到了一个众人仰望的职位
C.史某利用自己是姐姐和领导的身份,使得本来就两情相悦的妹妹和腼腆的同事小董最终走到了一起
D.研究员涂某通过在小白鼠身上做实验,获得了攻克人类疑难病症的重要成果
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!