工厂设计模式
来源:互联网 发布:瑞士三角巧克力知乎 编辑:程序博客网 时间:2024/05/20 00:11
工厂设计模式:
package com.neu ;interface Fruit{public void eat() ;// 吃水果}class Apple implements Fruit{public void eat(){// 覆写eat()方法System.out.println("** 吃苹果");}};class Orange implements Fruit{public void eat(){System.out.println("** 吃橘子") ;}};class Factory{public static Fruit getInstance(String className){Fruit fruit = null ;try{fruit = (Fruit)Class.forName(className).newInstance() ;}catch(Exception e){e.printStackTrace() ;}return fruit ;}};public class FactoryDemo01{public static void main(String args[]){Fruit f = Factory.getInstance("com.neu.Apple") ;if(f!=null){f.eat() ;}}};运行结果:
** 吃苹果
读取属性文件的工厂设计模式:
fruit.properties属性文件中的内容:
apple=com.neu.Appleorange=com.neu.OrangeFactoryDemo02类:
package com.neu ;import java.util.Properties ;import java.io.File ;import java.io.FileOutputStream ;import java.io.FileInputStream ;interface Fruit{public void eat() ;// 吃水果}class Apple implements Fruit{public void eat(){// 覆写eat()方法System.out.println("** 吃苹果");}};class Orange implements Fruit{public void eat(){System.out.println("** 吃橘子") ;}};class Init{public static Properties getPro(){Properties pro = new Properties() ;File f = new File("d:\\fruit.properties") ;// 找到属性文件try{if(f.exists()){// 文件存在pro.load(new FileInputStream(f)) ;// 读取属性}else{pro.setProperty("apple","com.neu.Apple") ;pro.setProperty("orange","com.neu.Orange") ;pro.store(new FileOutputStream(f),"FRUIT CLASS") ;}}catch(Exception e){}return pro ;}};class Factory{public static Fruit getInstance(String className){Fruit fruit = null ;try{fruit = (Fruit)Class.forName(className).newInstance() ;}catch(Exception e){e.printStackTrace() ;}return fruit ;}};public class FactoryDemo02{public static void main(String args[]){Properties pro = Init.getPro() ;Fruit f = Factory.getInstance(pro.getProperty("apple")) ;if(f!=null){f.eat() ;}}};运行结果:
** 吃苹果
0 0
- 设计模式--工厂设计
- 设计模式------工厂模式
- 设计模式------工厂模式
- 设计模式 [ 工厂模式 ]
- 设计模式--工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式 工厂模式
- 设计模式-工厂模式
- 设计模式 -- 工厂模式
- 设计模式-工厂模式
- 设计模式----工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- java之抽象类与内部类
- spark 1.6.0 core源码分析8 从简单例子看transformation
- vector中resize()和reserve()区别
- 《UNIX环境高级编程》--5 标准IO库
- 编译 skyeye-1.3.5 出现 glibconfig.h: No such file or directory 问题解决
- 工厂设计模式
- u-boot2013.01 使用设备树,设备树获得bootargs过程分析
- 大数据spark 蘑菇云行动前传 第1课:大数据时代的黄金语言scala
- 事件
- cache type
- SpringMvc面试题
- HDU-5719 Arrange
- 如何避免野指针(详解)
- iOS 移除系统自带的TabBar