工厂模式或工厂方法模式表示只需定义一个接口或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工厂模式,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习