1. 简单工厂的结构图
2. 简单工厂的基本代码
运算类Operation
public class Operation {
private double numberA=0;
private double numberB=0;
public double getNumberA() {
return numberA;
}
public void setNumberA(double numberA) {
this.numberA = numberA;
}
public double getNumberB() {
return numberB;
}
public void setNumberB(double numberB) {
this.numberB = numberB;
}
public double getResult(){
return 0;
}
}
加法运算类OperationAdd,继承自Operation
public class OperationAdd extends Operation {
@Override
public double getResult() {
double result = 0;
result = getNumberA() + getNumberB();
return result;
}
}
减法运算类OperationSub
public class OperationSub extends Operation {
@Override
public double getResult() {
double result = 0;
result = getNumberA() - getNumberB();
return result;
}
}
运算工厂类OperationFactory,创建运算对象。
public class OperationFactory {
public static Operation createOperaction(String operate) {
Operation oper = null;
if("+".equals(operate)){
oper = new OperationAdd();
}else if("-".equals(operate)){
oper = new OperationSub();
}
return oper;
}
}
客户端调用
public class ClientTest {
public static void main(String[] args) {
Operation oper = OperationFactory.createOperaction("-");
oper.setNumberA(8);
oper.setNumberB(6);
double result = oper.getResult();
System.out.println(result);
}
}
3. 说明
本示例运用到了面向对象的封装、继承、多态三大特性。运算类的运算结果方法是为封装,加法运算类继承自运算类是为继承,运算工厂类中根据传递进来的运算标志判断实例化加法运算类或减法运算类返回父类运算类的做法是为多态。
本文通过一个具体示例展示了面向对象编程的三大特性:封装、继承和多态,具体应用了简单工厂模式来创建不同类型的运算对象。通过加法运算类和减法运算类的实现,以及运算工厂类的实例化过程,详细阐述了如何使用简单工厂模式进行对象创建。
1514

被折叠的 条评论
为什么被折叠?



