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()); } }