前言: 工厂模式或工厂方法模式表示只需定义一个接口或Java抽象类来创建对象,但让子类决定要实例化哪个类。换句话说,
工厂模式或工厂方法模式表示只需定义一个接口或Java抽象类来创建对象,但让子类决定要实例化哪个类。换句话说,子类负责创建类的实例。工厂方法模式也称为虚拟构造函数,IT培训网小编给大家举例说明。
第 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工厂方法模式示例”介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下IT培训网的Java工厂模式,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助。
文章出自:http://qh.itpxw.cn/peixun/software/2022123857.html
文章标题:Java工厂方法模式示例
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...