根据不同的运算符实例化不同的对象
class Operation
{
protected double numA = 0;
protected double numB = 0;
public double GetResult()
{
double result = 0;
return result;
}
protected void set_A(int a){
numA = a;
}
protected void set_B(int b){numB = b;}
}
class OperationAdd extends Operation
{
public double GetResult()
{
double result = 0;
result = numA + numB;
return result;
}
}
class OperationSub extends Operation
{
public double GetResult()
{
double result = 0;
result = numA - numB;
return result;
}
}
class OperationMul extends Operation
{
public double GetResult()
{
double result = 0;
result = numA * numB;
return result;
}
}
class OperationDiv extends Operation
{
public double GetResult()
{
double result = 0;
if (numB != 0)
result = numA / numB;
return result;
}
}
class OperationFactory
{
public static Operation createOperate(String operate)
{
Operation per = null;
if (operate == "+"){
per = new OperationAdd();
}
else if (operate == "-")
per = new OperationSub();
else if (operate == "*")
per = new OperationMul();
return oper;
}
}
public class test {
public static void main(String[] args) {
Operation oper;
per = OperationFactory.createOperate("+");
oper.set_A(9);
oper.set_B(9);
System.out.println(oper.GetResult());
per = OperationFactory.createOperate("-");
System.out.println(oper.GetResult());
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25361369/viewspace-719360/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25361369/viewspace-719360/