简单工厂模式
来源:互联网 发布:淘宝做任务赚钱 编辑:程序博客网 时间:2024/06/05 04:28
去麦当劳吃东西,麦当劳为工厂,提供milk和mcchichen食物。
public interface Food {public void getFood();}
mcchicken代码
package simplefactory;public class McChicken implements Food {public void getFood() {<span style="white-space:pre"></span>System.out.println("Get a Chicken!");<span style="white-space:pre"></span>}}
Milk:
package simplefactory;public class Milk implements Food {public void getFood() {<span style="white-space:pre"></span>System.out.println("Get Milk!");<span style="white-space:pre"></span>}}
工厂麦当劳
package simplefactory;public class McDlz {<span style="white-space:pre"></span>public static Food getFood(String type) throws<span style="white-space:pre"></span>InstantiationException,IllegalAccessException,ClassNotFoundException{<span style="white-space:pre"></span>if(type.equalsIgnoreCase("mcchicken")){<span style="white-space:pre"></span>return (Food)McChicken.class.newInstance();<span style="white-space:pre"></span>}else if(type.equalsIgnoreCase("milk")){<span style="white-space:pre"></span>return (Food)Milk.class.newInstance();<span style="white-space:pre"></span>}else{<span style="white-space:pre"></span>System.out.println("Can't find this food!");<span style="white-space:pre"></span>return null;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}}
测试客户端:
package simplefactory;public class SimpleFactory {<span style="white-space:pre"></span>/**<span style="white-space:pre"></span> * @param args<span style="white-space:pre"></span> * @throws ClassNotFoundException <span style="white-space:pre"></span> * @throws IllegalAccessException <span style="white-space:pre"></span> * @throws InstantiationException <span style="white-space:pre"></span>*/<span style="white-space:pre"></span>public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {<span style="white-space:pre"></span>Food mcChicken = McDlz.getFood("mcchicken");<span style="white-space:pre"></span>Food milk = McDlz.getFood("milk");<span style="white-space:pre"></span><span style="white-space:pre"></span>if(mcChicken != null){<span style="white-space:pre"></span>mcChicken.getFood();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>if(milk != null){<span style="white-space:pre"></span>milk.getFood();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}}
0 0
- 工厂模式-简单工厂
- 工厂模式-简单工厂
- 工厂模式-简单工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 简单工厂和工厂模式
- 简单工厂和工厂模式
- 1,工厂模式--简单工厂
- 简单工厂和工厂模式
- 简单工厂,工厂模式,抽象工厂
- 简单工厂,工厂模式,抽象工厂
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂模式和抽象工厂
- 此服务器支持661版及更低版本。不支持降级路径。
- Creating Apps With Material Design —— Defining Shadows and Clipping Views
- 独立开发者在创业过程中经常会犯的14个错误
- 关于页面传值汉字乱码的修正方法
- yuv视频用opengl播放
- 简单工厂模式
- db migrate script to set charset=utf8 for all tables
- VS旗舰版产品秘钥
- 转载--大型网站系统架构演化之路
- 方法中引用静态类方法时发生的悲剧
- 设置Oracle PL/SQL时间显示格式NLS_TIMESTAMP_FORMAT
- 服务器出现无法启动服务的问题
- 肚皮舞真的可以减肥吗?
- 增加桶式的动态哈希