首页 > 其他分享 >软件设计5

软件设计5

时间:2023-11-22 17:37:11浏览次数:31  
标签:String 软件设计 void compture Override lap public

实验5:建造者模式

 

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

 

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

 

实验要求:

 

1. 画出对应的类图;

 

 

 

 

 

2. 提交源代码;

 

1.Builder

 

public abstract class Builder {

 

    Computer computer = new Computer();

 

    abstract public void buildZhuJi();

 

    abstract public void buildYinPan();

 

    abstract public void buildCpu();

 

    abstract public void buildNeiCun();

 

    public Compture getCompture(){

 

        return compture;

 

    }

 

}

 

① Compture

 

public class Compture {

 

    private String cpu;

 

    private String neiCun;

 

    private String yinPan;

 

    private String zhuJi;

 

    public String getZhuJi() {

 

        return zhuJi;

 

    }

 

    public void setZhuJi(String zhuJi) {

 

        this.zhuJi = zhuJi;

 

    }

 

    public String getYinPan() {

 

        return yinPan;

 

    }

 

    public void setYinPan(String yinPan) {

 

        this.yinPan = yinPan;

 

    }

 

    public String getNeiCun() {

 

        return neiCun;

 

    }

 

    public void setNeiCun(String neiCun) {

 

        this.neiCun = neiCun;

 

    }

 

    public String getCpu() {

 

        return cpu;

 

    }

 

    public void setCpu(String cpu) {

 

        this.cpu = cpu;

 

    }

 

}

 

② Factory

 

public class Factory {

 

    private Builder comptureKind;

 

    public void setCompture(Builder kind) {

 

        this.comptureKind = kind;

 

    }

 

    public Compture construct(){

 

        comptureKind.buildCpu();

 

        comptureKind.buildYinPan();

 

        comptureKind.buildZhuJi();

 

        comptureKind.buildNeiCun();

 

        return comptureKind.getCompture();

 

    }

 

}

 

③ LapBuilder

 

public class LapBuilder extends Builder{

 

    @Override

 

    public void buildZhuJi() {

 

        compture.setZhuJi("LZJ");

 

    }

 

    @Override

 

    public void buildYinPan() {

 

        compture.setYinPan("LYP");

 

    }

 

    @Override

 

    public void buildCpu() {

 

        compture.setCpu("LC");

 

    }

 

    @Override

 

    public void buildNeiCun() {

 

        compture.setNeiCun("LNC");

 

    }

 

}

 

④ Store

 

public class Store {

 

    public static void main(String[] args) {

 

        Builder lap;

 

        Factory factory=new Factory();

 

        for (int i = 0; i < 2; i++) {

 

            if(i==1)

 

                lap = new LapBuilder();

 

            else

 

                lap=new TaiShiBuilder();

 

            factory.setCompture(lap);

 

            factory.construct();

 

            System.out.println(lap.getCompture().getCpu());

 

            System.out.println(lap.getCompture().getNeiCun());

 

            System.out.println(lap.getCompture().getYinPan());

 

            System.out.println(lap.getCompture().getZhuJi());

 

        }

 

 

 

    }

 

}

 

⑤ TaiShiBuilder

 

public class TaiShiBuilder extends Builder{

 

    @Override

 

    public void buildZhuJi() {

 

        compture.setZhuJi("TZJ");

 

    }

 

    @Override

 

    public void buildYinPan() {

 

        compture.setYinPan("TYP");

 

    }

 

    @Override

 

    public void buildCpu() {

 

        compture.setCpu("TC");

 

    }

 

    @Override

 

    public void buildNeiCun() {

 

        compture.setNeiCun("TNC");

 

    }

 

}

 

3.注意编程规范。

 

标签:String,软件设计,void,compture,Override,lap,public
From: https://www.cnblogs.com/renliqin/p/17849875.html

相关文章

  • 软件设计模式学习每日总结-第九天
    第九天组合模式:组合多个对象形成树形结构,使得叶子和容器的使用具有一致性。透明组合模式:声明了对象的所有的方法。安全组合模式:不声明对象的方法。 ......
  • 什么是计算机软件设计领域的 Edge Case
    在软件设计领域,EdgeCase(边缘情况)是一个重要的概念。简单来说,EdgeCase是指在系统的输入、操作或使用环境达到一些极限或者特殊情况时的场景。这些场景通常在正常使用条件下不太可能出现,但是如果发生,可能会导致系统行为异常,比如性能下降、功能失效,甚至系统崩溃。因此,在设计和测试......
  • 11.20软件设计实验二
    实验18:迭代器模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解迭代器模式的动机,掌握该模式的结构;2、能够利用迭代器模式解决实际问题。 [实验任务一]:JAVA和C++常见数据结构迭代器的使用信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA......
  • 软件设计模式学习每日总结-第七天
    第七天学习结构型模式:描述如何将对象或类组合成更大的结构。类结构型模式:类的组合对象结构模式:类与对象的组合适配器模式:使接口不兼容的类可以一起工作。  ......
  • 番外-软件设计(12)
    某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万元及以下的采购单,副总经理可以审批10万元及以下的采购单,总经理可以审批20万元及以下的采购单,20万元以上的采购单需要开职工大会确定。现用职责链模式设计该系统。实验要求:1. 提交类图;......
  • 软件设计实验12:外观模式
    实验12:外观模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解外观模式的动机,掌握该模式的结构;2、能够利用外观模式解决实际问题。 [实验任务一]:计算机开启在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法......
  • 软件设计实验13:享元模式
    实验13:享元模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解享元模式的动机,掌握该模式的结构;2、能够利用享元模式解决实际问题。 [实验任务一]:围棋设计一个围棋软件,在系统中只存在一个白棋对象和一个黑棋对象,但是它们可以在棋盘的不同位置显示多次。实......
  • 软件设计实验15:职责链模式
    实验15:职责链模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解职责链模式的动机,掌握该模式的结构;2、能够利用职责链模式解决实际问题。 [实验任务一]:财务审批某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万......
  • 软件设计模式学习每日总结-第五天
    第五天学习原型模式:复制创建新 浅克隆:复制对象.深克隆:复制对象及其成员。 ......
  • 软件设计-职责链模式
    软件设计                 石家庄铁道大学信息学院 实验15:职责链模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解职责链模式的动机,掌握该模式的结构;2、能够利用职责链模式解决实际问题。     [实验任务一]:财务审批......