网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
判断题
让用户的代码和某个特定类的子类的代码解耦,这就是装饰者模式的意图
A
对
B
错
参考答案
参考解析
解析:
暂无解析
更多 “判断题让用户的代码和某个特定类的子类的代码解耦,这就是装饰者模式的意图A 对B 错” 相关考题
考题
继承性机制使得子类不仅可以重用其父类的数据结构和代码,而且可以在父类代码的基础上方便地修改和扩充,这类修改并不影响对原有类的使用。这体现了面向对象方法的A.使开发出来的软件易于被人理解B.接近人类的思维习惯C.易于测试和调试D.可重用性好
考题
下面是关于在子类的方法程序中如何继承父类的方法程序的描述,其中______是错误的。A.用<父类名>::<方法>的命令继承父类的事件和方法B.用函数DODEFAULT()来继承父类的事件和方法C.当在子类中重新定义父类中的方法或事件代码时,就用新定义的代码取代了父类中原来的代码D.用<父类名>-<方法>的命令继承父类的事件和方法
考题
● 以下关于子类和父类的叙述中,正确的是 (44) 。(44)A. 代码中使用父类对象的地方,都可以使用子类对象替换B. 代码中使用子类对象的地方,都可以使用父类对象替换C. 父类定义的对象与子类定义的对象在属性和方法上一定相同D. 父类定义的对象与子类定义的对象在属性和方法上一定不同
考题
以下关于继承的说法,正确的是( )。
A.继承可以避免代码复制和相关的代码维护等问题B.Java语言中一个子类可以继承多个基类(多重继承)C.Java语言不允许实现多个接口D.子类可以继承父类的方法,但不能重新改写父类的方法
考题
下面是关于在子类的方法程序中如何继承父类的方法程序的描述,其中()是错误的。
A、用::的命令继承父类的事件和方法B、用函数DODEFAULT()来继承父类的事件和方法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));}
考题
以下关于子类和父类的叙述中,正确的是()。A、代码中使用父类对象的地方,都可以使用子类对象替换B、代码中使用子类对象的地方,都可以使用父类对象替换C、父类定义的对象与子类定义的对象在属性和方法上一定相同D、父类定义的对象与子类定义的对象在属性和方法上一定不同
考题
classCatextendsAnimal{}对于下述代码说法正确的是()A、Cat是Animal的子类B、Animal是Cat的子类C、Cat是Animal的超类D、Animal一定是抽象类
考题
JS代码和HTML代码有什么区别()A、JS代码:某一事件成功了才会统计,比如申请信用卡,表单提交成功(检测到用户提交了信息)后才发送log,而不是每点击提交按钮一次就发送。在添加转化代码时需要找到对应的JS组件B、HTML:用户点击某个组件一次就发送一次。在添加转化代码时只需找到对应的转化目标即可C、JS代码:用户点击某个组件一次就发送一次。在添加转化代码时只需找到对应的转化目标即可D、HTML:某一事件成功了才会统计,比如申请信用卡,表单提交成功(检测到用户提交了信息)后才发送log,而不是每点击提交按钮一次就发送。在添加转化代码时需要找到对应的JS组件
考题
关于代码审查,下列说法中正确的是()A、代码审查不需要理解应用程序的逻辑B、代码审查就是逐行查看所有代码C、代码审查需要仔细检查包含危险功能的代D、代码审查不需要审查负责处理用户数据的代码
考题
下面关于编写事件代码的方法中,错误的是()。A、为对象的某个事件编写代码就是要编写一个扩展名为.prg的程序,其主名就是事件名B、为对象的某个事件编写代码就是将代码写入该对象的该事件过程中C、可以在定义了该事件过程的类中继承D、在属性对话框中选择该对象的事件并双击,在事件窗口中输入相应的事件代码
考题
判断题用装饰者实例化组件时,将增加代码的复杂度,一旦应用了装饰者模式,不只需要实例化组件,还要把组件包装进装饰者,而这样的装饰者有多少个是不确定的A
对B
错
热门标签
最新试卷