2023/10/10 每日总结

今天完成了设计模式实验五

[实验任务一]:计算机组装

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

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

类图

源码

package org.test05;

public class Computer {
    private String cpu;
    private String ram;
    private String harddisk;
    private String host;
    private String type;

    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 getHarddisk() {
        return harddisk;
    }

    public void setHarddisk(String harddisk) {
        this.harddisk = harddisk;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return "Computer{" +
                "cpu='" + cpu + '\'' +
                ", ram='" + ram + '\'' +
                ", harddisk='" + harddisk + '\'' +
                ", host='" + host + '\'' +
                ", type='" + type + '\'' +
                '}';
    }
}
package org.test05;

public class Director {
    private ComputerBuilder computerBuilder;
    public void setBuilder(ComputerBuilder builder){
        this.computerBuilder=builder;
    }
    public Computer construct(){
        computerBuilder.buildram();
        computerBuilder.buildcpu();
        computerBuilder.buildhost();
        computerBuilder.buildhardisk();
        computerBuilder.buildtype();
        return computerBuilder.getComputer();
    }
}
package org.test05;

public abstract class ComputerBuilder {
    private Computer computer=new Computer();
    public abstract Computer getComputer();
    public abstract void buildcpu();
    public abstract void buildram();
    public abstract void buildhardisk();
    public abstract void buildhost();
    public abstract void buildtype();
}
package org.test05;

public class DesktopBuilder extends ComputerBuilder{
    private Computer computer=new Computer();
    public Computer getComputer(){
        return computer;
    }
    public void buildcpu(){
            computer.setCpu("cpu");
    }
    public void buildram(){
        computer.setRam("ram");
    }
    public void buildhardisk(){
        computer.setHarddisk("harddisk");
    }
    public void buildhost(){
        computer.setHost("zhuji");
    }
    public void buildtype(){
        computer.setType("台式电脑");
    }
}
package org.test05;

public class LaptopBuilder extends ComputerBuilder{
    private Computer computer=new Computer();
    public Computer getComputer(){
        return computer;
    }
    public void buildcpu(){
        computer.setCpu("cpu");
    }
    public void buildram(){
        computer.setRam("ram");
    }
    public void buildhardisk(){
        computer.setHarddisk("harddisk");
    }
    public void buildhost(){
        computer.setHost("zhuji");
    }
    public void buildtype(){
        computer.setType("笔记本电脑");
    }
}
package org.test05;

public class Client {
    public static void main(String[] args) {
        Director director = new Director();
        director.setBuilder(new LaptopBuilder());
        Computer computer = director.construct();
        System.out.println(computer.toString());
        director.setBuilder(new DesktopBuilder());
        Computer computer1 = director.construct();
        System.out.println(computer1.toString());

    }
}

 

posted @ 2023-10-10 23:01  樱花开到我身边  阅读(5)  评论(0)    收藏  举报