工厂模式的思想主要为:多个类似的子类继承同一个父类,对其父类中的变量进行操作;工厂类负责判断、控制哪个子类被执行,而工厂类调用子类完成后,返回的结果是该子类的父类,该父类中的变量已经被操作过了,访问该父类,得到我们想要的结果。
public class Father{ //父类 protected static String one; protected static String two; } public class Son1 extends Father{ //子类 Son1(){ one = "son1"; //操作父类中的变量 } } public class Son2 extends Father{ //子类 Son2(){ two = "son2"; } } public class Factory { //工厂类 public Father getSon(String s) { //调用子类,返回父类 if (s.equals("1")) { return new Son1(); } else { return new Son1(); } } }
调用方法举例
Factory factory = new Factory(); Father father = factory.getSon("1"); //调用时不需要判断调用哪个子类,参数不同,工厂自动判断调用的子类。本例调用了Son1子类 System.out.println(father.one); //查看结果 System.out.println(father.two);
工厂类中的创建子类的方法亦可放在父类中实现。
转载于:https://www.cnblogs.com/justdoitba/articles/8065763.html