首页
登录
从业资格
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
题库
2022-08-02
81
问题
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图5-1所示为其类图。
【C++代码】#include<iostream>#include<string>using namespace std;class Product{private:string partA,partB;public:Product( ){}void setPartA(const string&s){PartA=s;}void setPartB(const string&s){PartB=s;}//其余代码省略};class Builder{public:(1);virtual void buildPartB( )=0;(2);};class ConcreteBuilder1:public Builder{private:Product*product;public:ConcreteBuilder1( ){product=new Product( );}void buildPartA( ){(3)("Component A");}void buildPartB( ){(4)("Component B");}Product*getResult( ){return product;}//其余代码省略};class ConcreteBuilder2:public Builder{/*代码省略*/};class Director{private:Builder*builder;public:Director(Builder*pBuilder){builder=pBuilder;}void construct( ){(5);//其余代码省略}//其余代码省略};int main( ){Director*director1=new Director(new ConcreteBuilder1( ));director1->construct( );delete director1;return 0;}
选项
答案
解析
(1)virtual void buildPartA()=0
(2)virtual Product*getResult()=0
(3)product->setPartA
(4)product->setPartB
(5)builder->buildPartA();
或builder->buildPartB();
本题考查的是面向对象程序设计,是JAVA语言与设计模式的结合考查。本题涉及的设计模式是构建器模式,将复杂类的构造过程推迟到子类实现。
对于第一空、第二空,根据实现接口的类,补充其接口缺失的方法,因此,空(1)和空(2)分别填写:virtual void buildPartA()=0和virtual Product*getResult()=0,二者可以互换;
对于第三空、第四空,是根据product类方法进行的补充,与具体产品的实现保持一致,因此,分别填写:product->setPartA,product->setPartB;
对于第五空,由于在填空后面跟随的是代码省略,因此题目并不严谨,缺失的语句可以有builder->buildPartA();builder->buildPartB()。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2410686.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
在UML提供的图中,__()__用于按时间顺序描述对象间的相互。A.网络图
数据流图DFD的作用是__()__。A.描述数据对象之间的关系 B.描述对数
()是面向对象方法中最基本的封装单元,它可以把客户要使用的方法和数据呈现给外部
数据结构中的逻辑结构是指数据对象中元素之间的相互关系。按逻辑结构可将数据结构分为
软件著作权的保护对象不包括()。A.源程序 B.目标程序 C.流程图 D
()要求关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。A.1NF
数据的逻辑独立性由()的映射实现。A.外模式到逻辑模式 B.外模式到内模式
关系模式R(U,F)中,属性集U={A,B,C,D,E},函数依赖集F=(A→B
设有关系模式:选课(学号,课程号,课程名,成绩),其函数依赖集为{课程号+课程名
某企业网上书城系统的部分关系模式如下: 书籍信息表:books(bookn
随机试题
[originaltext]W:Hello,Tod!How’sitgoingrecently?M:Hi,Julia!Nicetosee
[originaltext]Wecontinueourdiscussionofplagiarism(剽窃).Lastweek,wes
【B1】[br]【B10】now→ago介词since后接的时间nearlytwohundredyears为过去的时间,具体来说,就是美国建国的时候,
TheWesthasbeguntotakemorenoticeoftheEast.Thefifth【C1】______o
毛泽东思想产生的实践基础是( )A.辛亥革命 B.五四运动 C.新文化运动
在一个自然果蝇种群中,灰身与黑身为一对相对性状(由A、a控制),棒眼与红眼为一对
栓剂置换价的正确表述是A:同体积不同基质的重量之比值 B:主药重量与基质重量之
在不考虑交易费用的情况下,行权对看涨期权多头有利的情形有( )。A.标的物价格
药品广告中可以使用的广告语是A.安全无副作用 B.中华医学会推荐 C.总有效
对于承租人来说,设备租赁与设备购买相比的优越性不包括()。A.可用较少资金获得生
最新回复
(
0
)