首先简单工厂模式.
可以理解为将一组对象的共性抽象出来一个抽象类作为父类.
假设A1,B1,C1三个类,将他们的共同行为,共同属性提取出来!
抽象出一个抽象类带一个抽象方法.
public abstract class Operation { //定义2个变量 private double _numberA=0; private double _numberB=0; public double get_numberA() { return _numberA; } public void set_numberA(double numberA) { _numberA = numberA; } public double get_numberB() { return _numberB; } public void set_numberB(double numberB) { _numberB = numberB; } //定义抽象,方便子类重写 public abstract double GetResult() throws Exception; }
将A1....都继承这个抽象类(继承当然要重写抽象方法)
public class OperationAdd extends Operation { //加法运算类,继承操作类!重写方法 @Override public double GetResult() { return super.get_numberA()+super.get_numberB(); } }
现在做工厂类
public class OperationFactory { public static Operation createOperate(String op) { //这里定义oper为一个抽象类 Operation oper = null; //以下为工厂 if (op.equals("+")) { oper = new OperationAdd(); } else if (op.equals("-")) { oper = new OperationSub(); } else if (op.equals("*")) { oper = new OperationMul(); } else if (op.equals("/")) { oper = new OperationDiv(); } return oper; } }
设计模式的目的无非是降低耦合,代码重用,方便维护扩展