随笔 - 132  文章 - 0  评论 - 1  阅读 - 4587

实验5:建造者模式

 


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

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

实验要求:

1.  画出对应的类图;

 

 

2.  提交源代码;

package test5;

 

public class Computer {

    private String CPU;

    private String RAM;

    private String Hard;

    private String Host;

    public String getCPU() {

        return CPU;

    }

    public void setCPU(String cPU) {

        CPU = cPU;

    }

    public String getRAM() {

        return RAM;

    }

    public void setRAM(String rAM) {

        RAM = rAM;

    }

    public String getHard() {

        return Hard;

    }

    public void setHard(String hard) {

        Hard = hard;

    }

    public String getHost() {

        return Host;

    }

    public void setHost(String host) {

        Host = host;

    }

}

 

package test5;

 

public abstract class ComputerBuilder {

    protected Computer computer=new Computer();

    public abstract void buildCPU();

    public abstract void buildRAM();

    public abstract void buildHard();

    public abstract void buildHost();

    public Computer getComputer()

    {

        return computer;

    }

}

复制代码

复制代码

package test5;

 

public class DesktopComputerBuilder extends ComputerBuilder{

    public void buildCPU() {

        computer.setCPU("安装台式机CPU");

    }

    public void buildRAM() {

        computer.setRAM("安装台式机内存");

    }

    public void buildHard() {

        computer.setHard("安装台式机硬盘");

    }

    public void buildHost() {

        computer.setHost("安装台式机主机");

    }

}

 

 

package test5;

 

public class Director {

    private ComputerBuilder cb;

    public void setComputerBuilder(ComputerBuilder c)

    {

        cb=c;

    }

    public Computer construct()

    {

        cb.buildCPU();

        cb.buildRAM();

        cb.buildHard();

        cb.buildHost();

        return cb.getComputer();

    }

}

 

 

 

 

package test5;

 

 

 

public class LaptopComputerBuilder extends ComputerBuilder{

    public void buildCPU() {

        computer.setCPU("安装笔记本CPU");

    }

    public void buildRAM() {

        computer.setRAM("安装笔记本内存");

    }

    public void buildHard() {

        computer.setHard("安装笔记本硬盘");

    }

    public void buildHost() {

        computer.setHost("安装笔记本主机");

    }

}

 

 

 

 

package test5;

 

import java.util.Scanner;

 

public class main {

    public static void main(String args[])

    {

        ComputerBuilder cb = null;

        System.out.println("请选择:1、笔记本 2、台式机");

        Scanner input=new Scanner(System.in);

        int i=input.nextInt();

        if(i==1) {

            cb=new LaptopComputerBuilder();

        }else if(i==2) {

            cb=new DesktopComputerBuilder();

        }else {

            System.out.println("输入无效!");

        }

        Director dir=new Director();

        dir.setComputerBuilder(cb);

        Computer computer=dir.construct();

        System.out.println("计算机组成:");

        System.out.println(computer.getCPU());

        System.out.println(computer.getRAM());

        System.out.println(computer.getHard());

        System.out.println(computer.getHost());

    }

}

3.注意编程规范。

posted on   wardream  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示