Java设计模式之四(经典面试题:工厂模式在开发中的运用)
2013-04-14 09:31
656 查看
一、工厂模式在开发中的运用
面试题:
写一个简单的计算器。
代码实现:
抽象一个运算类:
创建工厂类:
抽象运算的实现类:
用户类:
测试结果:
面试题:
写一个简单的计算器。
代码实现:
抽象一个运算类:
package com.qianyan.calcuator; public abstract class Operation { //数字一 private double num1; //数字二 private double num2; public double getNum1() { return num1; } public void setNum1(double num1) { this.num1 = num1; } public double getNum2() { return num2; } public void setNum2(double num2) { this.num2 = num2; } public abstract double getResult(); }
创建工厂类:
package com.qianyan.factory; import com.qianyan.calcuator.AddOperation; import com.qianyan.calcuator.Operation; import com.qianyan.calcuator.SubtractOperation; public class OperationFactory { public static Operation getOperation(String oper){ if("+".equals(oper)) return new AddOperation(); else if("-".equals(oper)) return new SubtractOperation(); else return null; } }
抽象运算的实现类:
package com.qianyan.calcuator; public class AddOperation extends Operation{ @Override public double getResult() { return this.getNum1() + this.getNum2(); } }
package com.qianyan.calcuator; public class SubtractOperation extends Operation{ @Override public double getResult() { return this.getNum1() - this.getNum2(); } }
用户类:
package com.qianyan.user; import java.util.Scanner; import com.qianyan.calcuator.Operation; import com.qianyan.factory.OperationFactory; public class User { public static void main(String[] args) { System.out.println("----小C计算器程序----"); Scanner input = new Scanner(System.in); System.out.println("请输入第一个运算数字:"); String str1 = input.nextLine(); System.out.println("请输入运算符:"); String oper = input.nextLine(); System.out.println("请输入第二个运算数字:"); String str2 = input.nextLine(); double num1 = Double.parseDouble(str1); double num2 = Double.parseDouble(str2); Operation opertion = OperationFactory.getOperation(oper); opertion.setNum1(num1); opertion.setNum2(num2); double result = opertion.getResult(); System.out.println(str1 + oper + str2 + "=" + result); } }
测试结果:
----小C计算器程序---- 请输入第一个运算数字: 5 请输入运算符: - 请输入第二个运算数字: 3 5-3=2.0
相关文章推荐
- Java设计模式之四(经典面试题:工厂模式在开发中的运用)
- Java设计模式之四(经典面试题:工厂模式在开发中的运用)
- Java设计模式之四(经典面试题:工厂模式在开发中的运用)
- java设计模式_工厂模式在开发中的运用
- java设计模式之---工厂模式在开发中的运用
- Java23种设计模式之-----工厂模式在开发中的应用
- Java开发中的23种设计模式详解----工厂设计模式
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- Android的开发之&java23中设计模式------>工厂模式
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- Java中的DAO设计模式应用举例 ------> 来自Java WEB 开发实战经典
- Java开发中的23种设计模式详解【经典】(转)
- Java开发中的23种设计模式--工厂
- Java开发中常用的设计模式(一)---工厂模式
- 实例解析观察者模式及其在Java设计模式开发中的运用
- JAVA开发的23种设计模式之 --- 工厂模式 && 抽象工厂模式
- Java设计模式二:抽象工厂模式(Abstract Factory)/工厂方法(Factory Method)
- 23种经典设计模式的java实现_1_抽象工厂模式
- Java程序员从笨鸟到菜鸟之(三十二)大话设计模式之设计模式分类和三种工厂模式
- java:运用工厂模式+反射实现可插拔的程序