每日总结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 @ 2023-10-30 23:16  布吉岛???  阅读(13)  评论(0)    收藏  举报