首页
登录
从业资格
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
题库
2022-08-02
24
问题
生成器(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
随机试题
Today’strumpetissimilartoitsancestorsEXCEPTthat______.[br][originalte
( )是由总监理工程师履行的职责。A.签署工程计量原始凭证 B.编制各专业的
连续式平整度仪自动采集位移数据时,()。A.测定间距为10cm B.每一计算
对于闭合性多根多处肋骨骨折的患者,包扎固定后,咳嗽无力,并有明显呼吸困难,最好的
(??)已成为市场普遍接受的风险控制指标。A.剩余期限 B.久期 C.修正久
“适用性”的质量概念,要求人们从()方面理解质量的实质。 A.使用要求B.
甲公司通过签订商标普通许可使用合同许可乙公司使用其注册商标“童声”,核定使用的商
能够有利于反映预算的整体性、统一性,但不能反映各项财政收支的经济性质的政府预算是
(2017年真题)根据《招标投标法实施条例》,潜在投标人或者其他利害关系人对招标
()应在缺陷责任期内对已交付使用的工程承担缺陷责任。A.发包人 B.承包
最新回复
(
0
)