每日总结20

软件设计                  石家庄铁道大学信息学院

 

实验5:建造者模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解建造者模式的动机,掌握该模式的结构;

2、能够利用建造者模式解决实际问题

 

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

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

实验要求:

1. 画出对应的类图;

 

2. 提交源代码;

Buildercomputer.java

package ruanshe5;

  

  public class BuilderComputer {

      public void builderDesktop() {

          

      }

      public  void builderLaptop() {

          

      }

 }

 

 

ProductComputer.java

 package ruanshe5;

  

  public class ProductComputer  {

      public Desktop desktop;

      public Laptop laptop;

     

      public ProductComputer() {

          

      }

     

     public void showDesktop(Desktop desktop2) {

         System.out.println("现在展示笔记本计算机的组成:");

     

         desktop2.builderDesktop();

     }

     public void showLaptop(Laptop laptop2) {

         System.out.println("现在展示台式机计算机的组成:");

         laptop2.builderLaptop();

     }

 

 }

 

Director.java

 package ruanshe5;

  

  import java.util.Scanner;

  

  public class Director {

      public static void main(String []args) {

          ProductComputer product=new ProductComputer();

          Desktop desktop=new Desktop();

          Laptop laptop=new Laptop();

         boolean flag=true;

         while(flag) {

             System.out.println("1、组装笔记本电脑!!!");

             System.out.println("2、组装台式机电脑!!!");

             System.out.println("3、退出!!!");

             System.out.println("请进行选择:");

             Scanner in =new Scanner(System.in);

             int a=in.nextInt();

         if(a==1) {

             product.showDesktop(desktop);

         }else if(a==2) {

             product.showLaptop(laptop);

         }else if(a==3) {

             System.out.println("欢迎下次组装!!!");

             break;

         }else {

             flag=false;

             System.out.println("请重新输入!!!");

         }

     }

    }

 

 }

 

Desktop.java

 

 package ruanshe5;

  

  public class Desktop extends BuilderComputer {

      private String CPU;

      private String zhuji;

      private String neicun;

      private String yingpan;

      public String getCPU() {

          return CPU;

     }

public void setCPU(String cPU) {

         CPU = cPU;

     }

     public String getZhuji() {

         return zhuji;

     }

     public void setZhuji(String zhuji) {

         this.zhuji = zhuji;

     }

     public String getNeicun() {

         return neicun;

     }

     public void setNeicun(String neicun) {

         this.neicun = neicun;

     }

     public String getYingpan() {

         return yingpan;

     }

     public void setYingpan(String yingpan) {

         this.yingpan = yingpan;

     }

     public Desktop(String cPU, String zhuji, String neicun, String yingpan) {

         super();

         CPU = cPU;

         this.zhuji = zhuji;

         this.neicun = neicun;

         this.yingpan = yingpan;

     }

     public Desktop() {

         

     }

     @Override

     public void builderDesktop() {

         System.out.println("笔记本电脑组成有:");

         System.out.println("笔记本硬盘、主机、内存、CPU");

         System.out.println("****************************");

     }

     

 }

 

Laptop.java

 package ruanshe5;

  

  public class Laptop extends BuilderComputer {

      private String CPU;

      private String zhuji;

      private String neicun;

      private String yingpan;

      public String getCPU() {

          return CPU;

     }

    public void setCPU(String cPU) {

         CPU = cPU;

     }

     public String getZhuji() {

         return zhuji;

     }

     public void setZhuji(String zhuji) {

         this.zhuji = zhuji;

     }

     public String getNeicun() {

         return neicun;

     }

     public void setNeicun(String neicun) {

         this.neicun = neicun;

     }

     public String getYingpan() {

         return yingpan;

     }

     public void setYingpan(String yingpan) {

         this.yingpan = yingpan;

     }

     public Laptop(String cPU, String zhuji, String neicun, String yingpan) {

         super();

         CPU = cPU;

         this.zhuji = zhuji;

         this.neicun = neicun;

         this.yingpan = yingpan;

     }

     public Laptop() {

         

     }

     @Override

     public void builderLaptop() {

         System.out.println("台式机电脑组成有:");

         System.out.println("台式机硬盘、主机、内存、CPU");

         System.out.println("****************************");

     }

     

 }

 

 

 

3.注意编程规范。

posted @   布吉岛???  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示