(01)大话设计模式-简单工厂-java实现

1.运算接口

public interface Operation {
	public double getResult(double NumberA , double NumberB);
}

2.加减乘除类

public class OperationAdd implements Operation {

	@Override
	public double getResult(double NumberA, double NumberB) {
		return NumberA + NumberB;  
		
	}

}
public class OperationSub implements Operation {

@Override
public double getResult(double NumberA, double NumberB) {
return NumberA - NumberB; 
}

}
public class OperationMul implements Operation {

	@Override
	public double getResult(double NumberA, double NumberB) {
		return NumberA * NumberB;  
	}

}
public class OperationDiv implements Operation {

	@Override
	public double getResult(double NumberA, double NumberB) {
		if(NumberB==0)
		try {
			throw new Exception("除数不能为0");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return NumberA / NumberB;  
	}

}

3.简单运算工厂类

public class OperationFactory {
	public static Operation createOperate(String operate){
		Operation oper = null;
		switch(operate)
		{
		case "+":
		oper = new OperationAdd();
		break;
		case "-":
		oper = new OperationSub();
		break;
		case "*":
		oper = new OperationMul();
		break;
		case "/":
		oper = new OperationDiv();
		break;
		}
		return oper;
	}

}

4.测试类

public class test {
	public static void main(String[] args){
		Operation oper;
		oper = OperationFactory.createOperate("+");	
		System.out.println(oper.getResult(1, 2));
	}
}

  

 

猜你喜欢

转载自www.cnblogs.com/singworld/p/8956019.html