《大话设计模式》代码JAVA版-第1章 简单工厂模式
2012-02-26 22:27
525 查看
publicabstract class Operation {
private double numberA;
private double numberB;
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 abstract double getResult() throwsException;
}
publicclass OperationAdd extends Operation {
@Override
public double getResult() {
return getNumberA() + getNumberB();
}
}
publicclass OperationSub extends Operation {
@Override
public double getResult() {
return getNumberA() - getNumberB();
}
}
publicclass OperationMul extends Operation {
@Override
public double getResult() {
return getNumberA() * getNumberB();
}
}
publicclass OperationDiv extends Operation {
@Override
public double getResult() throws Exception{
if (getNumberB() == 0) {
throw new Exception("Divisoris zero.");
}
return getNumberA() / getNumberB();
}
}
publicclass OperationFactory {
public static OperationcreateOperation(String operator) {
Operation o = null;
switch (operator.toCharArray()[0]) {
case '+':
o = new OperationAdd();
break;
case '-':
o = new OperationSub();
break;
case '*':
o = new OperationMul();
break;
case '/':
o = new OperationDiv();
break;
default:
o = null;
}
return o;
}
}
/**
* Implement a calculator using encapsulation,inheritance and polymorphism.
*/
publicclass SimpleFactoryClient {
public static void main(String[] args) {
try {
Operation o =OperationFactory.createOperation("/");
o.setNumberA(4.2);
o.setNumberB(2);
System.out.println("Result:" + o.getResult());
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.toString());
}
}
}
相关文章推荐
- 大话设计模式——第1章 代码无错就是优?——简单工厂模式
- 《大话设计模式》第1章 简单工厂模式(Java语言)
- JAVA简单工厂模式(从现实生活角度理解代码原理)
- 《大话设计模式》代码JAVA版-第7章 代理模式
- 《大话设计模式》读书笔记,附Java代码实现
- 《大话设计模式》——读后感 (1)代码无错就是优?——简单工厂模式
- 大话设计模式,让你的代码更完美4---简单工厂模式和工厂方法模式
- 大话设计模式之简单工厂模式代码
- 《大话设计模式》之--第1章 代码无错就是优?----简单工厂模式
- 《大话设计模式》ruby版代码:简单工厂模式
- JAVA面向对象程序设计,董小园 清华大学出版社 课后上机实验题代码 第1章
- 《大话设计模式》之 简单工厂模式 Delphi/C shap /JAVA 实现
- 编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议16~20)
- 大话设计模式2 策略模式 的java代码实现
- 简单工厂模式java代码的实现
- java 简单工厂模式、多态工厂、抽像工厂 讲解, 代码示例
- 大话设计模式-第01章 代码无错就是优?——简单工厂模式
- 大话设计模式C++实现-第1章-简单工厂模式
- JAVA简单工厂模式(从现实生活角度理解代码原理)
- 大话设计模式-第1章代码无错就是优?-简单的工厂模式