阅读以下说明和Java代码,回答问题[说明]在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图6-1显示了各个类间的关系。以下是Java语言实现,能够正确编译通过。[Java代码]//Builder. java文件public (1) class Bui

题目

阅读以下说明和Java代码,回答问题

[说明]

在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。

以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图6-1显示了各个类间的关系。

以下是Java语言实现,能够正确编译通过。

[Java代码]

//Builder. java文件

public (1) class Builder {

public abstract void makeTitle(String title);

public abstract void makeString(String str);

public abstract void makeItems(String[] items);

public abstract Object getResult();

}

//Director. java文件

public class Director{

private (2) builder;

public Director(Builder builder){

this. builder = builder;

}

public Object construct(){

builder.makeTitle("Greeting");

builder.makeString("从早上到白天结束");

builder.makeItems(new String[]{"早安", "午安",});

builder.makeString("到了晚上");

builder.makeItems(new String[]("晚安", "好梦",});

return builder.getResult();

}

}

//TextBuilder.java文件

public class TextBuilder (3) Builder{

private StringBuffer buffer = new StringBuffer();

public void makeTitle(String title){

buffer.append("『" + title + "』"\n\n");

}

public void makeString(String str){

buffer.append('■' + str + "\n\n ");

}

public void makeItems(String[] items){

for(int i = 0; i< (4) ; i++){

buffer.append('·' + items[i] + "\n");

}

buffer.append("\n");

}

public Object getResult(){

return buffer.toString();

}

}

//Main.java文件

public class Main {

public static void main(String[] args) {

Director director = new Director(new TextBuilder());

String result = (String)director. (5) ;

System.out.println(result);


相似考题
参考答案和解析
正确答案:abstract Builder extends items.length construct()
abstract Builder extends items.length construct()
更多“ 阅读以下说明和Java代码,回答问题[说明]在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容”相关问题
  • 第1题:

    创建型设计模式抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示它的那些对象。以下( )模式是创建型模式。

    A.组合(Composite) B.构建器(Builder)C.桥接(Bridge) D.策略(Strategy)


    正确答案:B

  • 第2题:

    创建型设计模式抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示的那些对象。以下(48)模式是创建型模式。

    A.组合(Composite)
    B.构建器(Builder)
    C.桥接(Bridge)
    D.策略(Strategy)

    答案:B
    解析:
    本题考查设计模式的基本概念。
    每个设计模式描述了一个不断重复发生的问题,以及该问题的解决方案的核心。在面向对象系统设计中,每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,何时适合使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。
    按照设计模式的目的可以分为创建型模式、结构型模式和行为型模式三大类。创建型模式与对象的创建有关,将实例化过程加以抽象,帮助—个系统独立于如何创建、组合和表示它的那些对象,包括FactoryMethod、Abstract Factory、Builder、Prototype和Singleton;结构型模式处理类或对象的组合,涉及如何组合类和对象以获得更大的结构,包括Adapter(类)、Adapter(对象)、Bridge、Composite、Decorator、Facade、Flyweight和Proxy;行为型模式对类或对象怎样交互和怎样分配职责进行描述,包括Interpreter、TemplateMethod、Chain of Responsibility、Command、Iterator、Mediator、Memento Observer State Strategy和Visitor。

  • 第3题:

    某模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。以下( )情况适合选用该模式。
    ①抽象复杂对象的构建步骤
    ②基于构建过程的具体实现构建复杂对象的不同表示
    ③一个类仅有一个实例
    ④一个类的实例只能有几个不同状态组合中的一种

    A.①②
    B.②③
    C.③④
    D.①④

    答案:A
    解析:
    实用范围
    1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时
    2 当构造过程必须允许被构造的对象有不同表示时

  • 第4题:

    模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创 建不同的表示。以下( 47 )情况适合选用该模式。 ①抽象复杂对象的构建步骤 ②基于构建过程的具体实现构建复杂对象的不同表示 ③一个类仅有一个实例 ④一个类的实例只能有几个不同状态组合中的一种

    A.生成器(Builder)

    B.工厂方法(Factory Method)

    C.原型(Prototype)

    D.单例( Singleton)


    正确答案:A

  • 第5题:

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    某网站采用ASP+SQL Server开发,系统的数据库名为gldb,数据库服务器IP地址为202.12.34.1。打开该网站主页,如图5-1所示:

    【问题1】(8分,每空1分)

    以下是该网站主页部分的html代码,请根据图5-1将(1)~(8)的空缺代码补齐。

    【问题2】(2分,每空1分)

    该网站采用ASP编写程序代码,在ASP内置对象中,application对象和session对象可以创建存储空间用来存放变量和对象的引用。

    如果在页面中设置访客计数器,应采用上述的 (9) 对象:如果编写购物车组件,应采用上述的 (10) 对象。

    【问题3】(5分,每空1分)

    以下是该网站进行数据库连接的代码conn.asp,请根据题目说明完成该程序,将答案填写在答题纸的对应位置。


    答案:
    解析:
    【问题1】(8分,每空1分)

    (1) include

    (2) text

    (3) value

    (4) select

    (5) selected

    (6)

    (7) submit

    (8) button

    【问题2】(2分,每空1分)

    (9) application

    (10) session

    【问题3】(5分,每空1分)

    (11) server

    (12) conn

    (13) 202.12.34.1

    (14) gldb

    (15) execute


    解析:

    【问题2】(2分,每空1分)

    Application对象是在为响应一个ASP页面的首次请求而载入ASP DLL时创建的,它提供了存储空间用来存放变量和对象的引用,可用于所有的页面,任何访问者都可以打开他们。Application的变量的生命周期是WEB服务器开启WEB服务一直到终止WEB服务,在实际运用中可以应用于计算访问网站的总体人数上。而Session对象是在每一位访问者从WEB站点或者WEB应用程序中首次请求一个ASP页面时创建的,它将保留到默认的期限结束。与Application对象一样,它提供一个空间用来存放变量和对象的引用,但只能共当前的访问者在会话的生命周期中打开的页面使用,如每个用户对应的购物车组件。(9)~(10)的答案为:(9) application
    (10) session
    【问题3】(5分,每空1分)
    第一句代码是创建一个数据库连接实例conn,会用到ASP server内置对象
    第二句代码是指定数据库连接方法为sqloledb
    第三句代码是创建连接字符串provstr,此字符串指定了数据库服务器ip地址、数据库名称等信息
    第四句代码是固定代码conn.execute.****,执行连接字符串。(11)~(14)答案为:
    (11) server
    (12) conn
    (13) 202.12.34.1
    (14) gldb
    (15) execute