java设计模式之简单工厂模式
2011-04-08 22:07
381 查看
今天学习了简单工厂模式,下面用java实现一下。
用java写一个简单的计算器
首先,写一个抽象Operation类
然后,写四个类实现加,减,乘,除,均继承自Operation
最后是OperationFactory类的实现,含有一个静态方法
以下是主函数所在类
总结:简单工厂模式耦合度比较低,可以相当随意的添加其他功能(比如增加开放运算),而且调用也简单
用java写一个简单的计算器
首先,写一个抽象Operation类
public abstract class Operation { protected double numberA; protected double numberB; public abstract double getResult(); }
然后,写四个类实现加,减,乘,除,均继承自Operation
public class OperationAdd extends Operation{ @Override public double getResult() { // TODO Auto-generated method stub return numberA+numberB; } } public class OperationSub extends Operation { @Override public double getResult() { // TODO Auto-generated method stub return numberA-numberB; } } public class OperationMul extends Operation { @Override public double getResult() { // TODO Auto-generated method stub return numberA*numberB; } } public class OperationDiv extends Operation { @Override public double getResult() { // TODO Auto-generated method stub return numberA/numberB; } }
最后是OperationFactory类的实现,含有一个静态方法
public class OperationFactory { public static Operation createOperation(char operator) { switch (operator) { case '+': return new OperationAdd(); case '-': return new OperationSub(); case '*': return new OperationMul(); case '/': return new OperationDiv(); default: return null; } } }
以下是主函数所在类
ublic class Program { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { Scanner s = new Scanner(System.in); System.out.println("输入A"); double numberA = s.nextDouble(); System.out.println("输入运算符+ - * /"); String operator = s.next(); System.out.println("输入B"); double numberB = s.nextDouble(); double res; Operation o = OperationFactory.createOperation(operator.charAt(0)); o.numberA = numberA; o.numberB = numberB; res = o.getResult(); //double res = Operation.getResult(numberA, operator, numberB); System.out.print("结果是:"+res); } catch(Exception e) { System.out.print("exception:"+e.getMessage()); } } }
总结:简单工厂模式耦合度比较低,可以相当随意的添加其他功能(比如增加开放运算),而且调用也简单
相关文章推荐
- (三)简单工厂模式详解 分类: java 设计模式
- JAVA设计模式之【简单工厂模式】
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
- java设计模式之简单工厂模式
- 浅谈 java 设计模式--简单工厂模式(Simple Factory pattern)
- (一)Java设计模式之简单工厂模式
- 【Java设计模式】之简单工厂模式
- java设计模式-简单工厂模式
- 设计模式之简单工厂模式java示例
- Java设计模式之工厂模式(简单工厂模式和工厂方法模式)
- java设计模式之工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
- java设计模式学习之简单工厂模式
- JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
- java设计模式之简单工厂模式简述
- (二)Java设计模式之简单工厂模式
- 设计模式(java)2——简单工厂模式
- Java 可复用的面向对象的设计模式之 工厂模式Factory详解 :简单工厂模式 工厂方法模式 抽象工厂模式
- Java 设计模式之 简单工厂模式(静态工厂方法模式)
- Java设计模式--简单工厂模式