10.13

 

使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

 

 

类图:

 

源代码:

Computer.java

public class Computer {

 

    private String cpu;

    private String ram;

    private String host;

    private String harddisk;

    public String getCpu() {

        return cpu;

    }

    public void setCpu(String cpu) {

        this.cpu = cpu;

    }

    public String getRam() {

        return ram;

    }

    public void setRam(String ram) {

        this.ram = ram;

    }

    public String getHost() {

        return host;

    }

    public void setHost(String host) {

        this.host = host;

    }

    public String getHarddisk() {

        return harddisk;

    }

    public void setHarddisk(String harddisk) {

        this.harddisk = harddisk;

    }

    

    

 

}

 

ComputerBuilder.java

public abstract class ComputerBuilder {

 

    private Computer com=new Computer();

    public abstract void buildCpu();

    public abstract void buildRam();

    public abstract void buildHarddisk();

    public abstract void buildHost();

    public Computer getComputer() {

        return com;

    }

 

}

 

 

ComputerFactory

public class ComputerFactory {

 

    private ComputerBuilder cb;

    public void setComputerBuilder(ComputerBuilder cb) {

        this.cb=cb;

    }

    public Computer construct() {

         

        cb.buildCpu();

        cb.buildHarddisk();

        cb.buildHost();

        cb.buildRam();

        return cb.getComputer();

    }

 

}

 

 

Desktopbuilder

public class DesktopBuilder {

 

    public void buildCpu() {

        System.out.println("台式机cpu");

    }

    public void buildRam() {

        System.out.println("台式机内存");

    }

    public void buildHarddisk() {

        System.out.println("台式机硬盘");

    }

    public void buildHost() {

        System.out.println("台式机主机");

    }

}

 

NoteBookBuilder

 

public class NoteBookBuilder extends ComputerBuilder{

 

    public void buildCpu() {

        System.out.println("笔记本cpu");

    }

    public void buildRam() {

        System.out.println("笔记本内存");

    }

    public void buildHarddisk() {

        System.out.println("笔记本硬盘");

    }

    public void buildHost() {

        System.out.println("笔记本主机");

    }

}

 

Client

public class Client

{

    public static void main(String args[])

    {

        

        ComputerBuilder cb=(ComputerBuilder)XMLUtil.getBean();

        

        ComputerFactory cf=new ComputerFactory();

       

        cf.setComputerBuilder(cb);

        

        Computer c=cf.construct();

       

    }

}

 

运行截图:

 

 

 

 

posted on 2024-10-13 19:42  HA_wind  阅读(24)  评论(0)    收藏  举报

导航