首页
登录
从业资格
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样
题库
2022-08-02
51
问题
生成器(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
随机试题
Drone—ProblemandChancesA)InthefirstincidentonMay
Advancedtechnologyhasalreadypushedhumanbeingtoedges,suchasthepro
网络计划调整的主要内容包括()。A.关键线路长度的调整 B.非关键工作时差
产教结合原则
1936年10月,中国工农红军三大主力胜利会师地是(?)。A.四川懋功地区 B
男性,45岁。因右足第一跖趾关节肿痛一天就诊,经检查确诊为痛风,给予非甾体抗炎药
共用题干 TheMostWonderfulIslandsThePalm
2010年排名第二的海洋产业增加值比倒数第一的产业多()倍。 A.174
C
关于施工安全管理基本制度,以下说法正确的是()。A.安全生产责任制度:安全生产
最新回复
(
0
)