首页
登录
从业资格
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
题库
2022-08-02
45
问题
生成器(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://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
随机试题
InBritain,popularnewspapersarealsocalled______A、tabloidsB、qualityC、broad
阅读某教师教学后的访谈记录片段,按要求答题。 上课前我担心《记念刘和珍君》远离
用相对估值法来评估目标企业价值的工作程序不包括()。A.选定相当数量的可比案例
金融工具,是在金融交易活动中产生的,能够证明金融交易金额、期限、价格的书面文件,
A. B. C. D.
除了期货现货互转套利策略,不论使用其余的哪种衍生性策略都必须特别注意保证在有时间
嫉妒情绪的特点包括()。多选A.持续性 B.针对性 C.对抗性 D.
2019年3月,市税务局稽查局对甲科技公司的纳税情况依法实施审查,发现甲科技公司
申请房地产开发贷款的房地产开发企业通常应具备的条件有()。A:已取得贷款项目批准
如发电厂采用发电机一变压器一线路单元接线接人500kV系统时,满足()条件时,
最新回复
(
0
)