首页 > 代码库 > java设计模式(二)工厂模式
java设计模式(二)工厂模式
工厂模式是最常见的实例化对象的模式,用来替代new操作。采用这种模式创建对象会有一些额外的操作,但他会带给系统更大的扩展性和更少的修改量。典型的应用spring bean容器。下面简单实现工厂的例子。
1、动物接口,提供公用方法体
public interface Animal { public void eat(); }
2、猫类,继承动物接口,实现猫的eat方法
public class Cat implements Animal { public void eat() { System.out.println("猫在吃饭..."); } }
3、狗类,继承动物接口,实现狗的eat方法
public class Dog implements Animal { public void eat() { System.out.println("狗在吃饭..."); } }
4、工厂类
需要注意两点:1)返回类型为接口 2)通过反射实现类的实例化
public class AnimalFactory { public Animal getAnimalByClassName(String className) { Animal a = null; try { a = (Animal) Class.forName(className).newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return a; } }
5、测试类
public class Model { public static void main(String[] args) { AnimalFactory af = new AnimalFactory(); Animal a = af.getAnimalByClassName("design_pattern.factory.Cat"); a.eat(); a = af.getAnimalByClassName("design_pattern.factory.Dog"); a.eat(); } }
java设计模式(二)工厂模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。