专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java工厂方法模式示例

Java工厂方法模式示例

更新时间:2022-07-27 11:58:19 来源:星辉 浏览1226次

工厂模式或工厂方法模式表示只需定义一个接口或Java抽象类来创建对象,但让子类决定要实例化哪个类。换句话说,子类负责创建类的实例。工厂方法模式也称为虚拟构造函数,星辉小编给大家举例说明。

计算电费:工厂方法的真实示例

第 1 步:创建一个 Plan 抽象类。

导入 java.io.*;      
抽象类 计划{   
         受保护的双倍 利率;   
         抽象的void  getRate();      
         公共无效 计算账单(整数 单位){   
              System.out.println(单位*速率);  
          }  
} //计划类结束。

第 2 步:创建扩展 Plan 抽象类的具体类。

类  国内 计划扩展 计划{  
        //@覆盖  
         公共无效 getRate(){   
             率= 3.50 ;              
        }  
   } //DomainPlan 类结束。  
类  CommercialPlan 扩展 计划{  
   //@覆盖   
    公共无效 getRate(){    
        率= 7.50 ;  
   }   
/商业计划 类结束。
类  机构 计划扩展 计划{  
   //@覆盖  
    公共无效 getRate(){    
        率= 5.50 ;  
   }   
/机构计划 课程结束。

第 3 步:创建一个 GetPlanFactory 以根据给定信息生成具体类的对象。

类 GetPlanFactory{       
   //使用getPlan方法获取Plan类型的对象   
       公共 计划 getPlan(字符串计划类型){  
            if (planType ==  null ){  
             返回空值;   
            }  
          如果(planType.equalsIgnoreCase(“DOMESTICPLAN” )){  
                 返回新的 国内计划();   
               }   
           否则如果(planType.equalsIgnoreCase(“COMMERCIALPLAN” )){   
                返回新的 商业计划();   
            }   
          否则如果(planType.equalsIgnoreCase(“INSTITUTIONALPLAN” )){   
                返回新的 机构计划();   
          }  
      返回空值;   
   }  
} //GetPlanFactory 类结束。

步骤4:使用GetPlanFactory 生成Bill,通过传递计划类型DOMESTICPLAN 或COMMERCIALPLAN 或INSTITUTIONALPLAN 等信息来获取具体类的对象。

导入 java.io.*;    
类 生成账单{  
    公共静态void  main(String args[])抛出 IOException{    
      GetPlanFactory planFactory =  new  GetPlanFactory();         
      System.out.print( "输入要生成账单的计划名称:" );  
      BufferedReader br= new  BufferedReader( new  InputStreamReader(System.in));    
      字符串计划名称=br.readLine();  
      System.out.print( "输入账单的单位数将被计算:" );  
      整数 单位=整数.parseInt(br.readLine());    
      计划 p = planFactory.getPlan(planName);  
      //调用DomesticPaln的getRate()方法和calculateBill()方法。    
       System.out.print( "" +units+ "个单位的" +planName+ "的账单金额为:" );  
           p.getRate();  
           p.calculateBill(单位);  
            }  
    } //GenerateBill 类结束。

输出

以上就是关于“Java工厂方法模式示例”介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下星辉的Java工厂模式,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>