10.31

实验5:建造者模式

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

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

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

 

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

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

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

1.类图

 

 

2.

 

 public class BuilderComputer {

     public void builderDesktop() {

         

     }

     public  void builderLaptop() {

         

     }

 }

 

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

     }

 

 }

 

 

 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("请重新输入!!!");

         }

     }

     }

 

 }

 

 public class Desktop extends ConcreteBuilderComputer {

     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("****************************");

     }

     

 }

 

 public class Laptop extends ConcreteBuilderComputer {

     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("****************************");

     }

     

 }

 

posted @ 2024-10-31 08:41  umiQa  阅读(6)  评论(0)    收藏  举报