阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括

admin2014-10-11  23

问题 阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸对应栏内。

【说明】
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。以下实例展示了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 makeltems(String[]items);
    public abstract obj ect getResult();
    }
    //Director.Java文件
    public Class Director{
private  (2)  buiider;
    publ ic Director(Bui Ider bui ider)(
    this.buiider:builder;
    }
    publiC Obj ect construct()(
    buiider.makeTitle(“Greeting”);
    buiider.makeString(“从早上到白天结束”);
    buiider.makeItems(new String[]{“早安”,”午安”,);
    buiIder.makeString(“到了晚上”);
    builder.makeItems(new String(](“晚安”,”好梦”,));
    return buiider.getResult();
    }
    }
    //TextBui ider.java文件
    public Class TextBuiIder(3)Buiider{
    private StringBuffer buffer=new StringBuffer();
    public void makeTitle(String title){
    buffer.append(“[.’+title+”]\n\n“);
    }
    publ iC void makeString(String str){
    burfer.append(‘■’  +str+  “\n\n”);
    }
    public VOid makeltems(String[]items){
    for(int i=0;i<  (4);i++){
    buffer.append(’_’+items+“\n”);
    }
    buffer.append(“\n”);
    }
    public Object getResult()(
    return burfer.toString();
    }
    }
    //Main.java文件
    public class Main{
    public static void main(String[]args){
    mirector director=new Director(new TextBuiider());
    String result=(String)director.(5);
    System.out.printin(result);
    }

选项

答案(1)abstract (2)Builder (3)extends (4)items.length (5)construct()

解析 Builder类含有多个abstract方法,故应声明为abstract,空(1)应填abstract。由构造函数中的语句this.builder=builder;及形参声N~Builderbuilder,可判知空(2)应填Builder。由类图知,TextBuilder是Builder的子类,因此空(3)应填extends,声明继承关系。来看空(4),此处for循环是将items中的对象添加到buffer中,空(4)处是循环终止条件:下标达到items的长度,故应填items.length。空(5)是真正进行文件的构造,应填construct()。事实上,Director类仅提供了该方法,自然是调用该方法。
转载请注明原文地址:https://jikaoti.com/ti/mRi7FFFM
0

相关试题推荐
随机试题
最新回复(0)