网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
判断题
装饰者模式中非常重要的一点就是具体组件和装饰类都是“抽象组件”的子类
A
对
B
错
参考答案
参考解析
解析:
暂无解析
更多 “判断题装饰者模式中非常重要的一点就是具体组件和装饰类都是“抽象组件”的子类A 对B 错” 相关考题
考题
软件系统架构是关于软件系统的结构、( )和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的( )。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和( )结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。A.行为B.组织C.性能D.功能A.交互关系B.实现关系C.数据依赖D.功能依赖A.进程B.拓扑C.处理D.数据
考题
阅读以下说明和C++程序代码,将程序填充完整。【说明】有时我们希望给某个对象而不是整个类添加一些功能。例如,一个图形用户界面工具箱允许你对任意一个用户界面组件添加一些特性,例如边框,或是一些行为,例如窗口滚动。使用继承机制是添加功能的一种有效途径,从其他类继承过来的边框特性可以被多个子类的实例所使用。但这种方法不够灵活,因为边框的选择是静态的,用户不能控制对组件加边框的方式和时机。一种较为灵活的方式是将组件嵌入另一个对象中,由这个对象添加边框。我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。它将客户请求转发给该组件,并且可能在转发前后执行一些额外的动作(例如画二个边框)。透明性使得你可以递归地嵌套多个装饰,从而可以添加任意多的功能。装饰对象结构模式的意图就是动态地给一个对象添加一些额外的职责。就增加功能来说,该模式相比生成子类更为灵活。其示意类图如图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,边界宽为1window->SetContents((5));}
考题
软件系统架构是关于软件系统的结构、(40)和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的(41)。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和(42)结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。A.行为B.组织C.性能D.功能
考题
为图形用户界面(GUI)组件定义不同平台的并行类层次绩构,适合采用()模式。A.享元(Flyweight)B.抽象工厂(Abstract Factory)C.外观(Facade))D.装饰器(Decorator)
考题
图形用户界面(GUI)组件定义不同平台的并行类层次结构,适合采用(1)模式。
A.享元(Flyweight)
B.抽象工厂(Abstract Factory)
C.外观(Facade)
D.装饰器(Decorator)
考题
系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,()设计模式可以实现该目的。A、外观B、装饰C、单件D、模板方法
考题
下列说法正确的是()A、组件必须是可视的,这样用户才能使用。B、Delphi中组件就是控件,二者是完全相同的。C、控件都是可视的。D、按钮(Button)是组件,而窗体(Form)则不是组件。
考题
装饰模式的优点有哪些()A、可以通过一种动态的方式来扩展一个对象的功能,通过配置文件可以在运行时选择不同的装饰器,从而实现不同的行为B、可以使用多个具体装饰类来装饰同一对象,得到功能更为强大的对象C、具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类和具体装饰类,在使用时再对其进行组合,原有代码无须改变,符合“开闭原则”D、使用装饰模式进行系统设计时将产生很多小对象E、装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻找错误可能需要逐级排查,较为烦琐
考题
单选题在JAVA编程中,关于Swing包中的组件,下面()是正确的。A
Swing中的每个组件都是采用MVC模式设计的B
JFrame窗口的关闭按钮默认不能使窗口关闭C
Swing的组件和awt组件,在编程时不能混合使用D
以上都正确
考题
单选题下列说法正确的是()A
组件必须是可视的,这样用户才能使用。B
Delphi中组件就是控件,二者是完全相同的。C
控件都是可视的。D
按钮(Button)是组件,而窗体(Form)则不是组件。
考题
单选题策略模式的结构中包括三种角色上下文、具体策略和抽象策略。抽象策略角色是一个()。A
类B
抽象类C
接口D
子类
热门标签
最新试卷