Java设计模式之四(经典面试题:工厂模式在开发中的运用)
2017-02-21 17:06
585 查看
原地址:http://www.tuicool.com/articles/ma2I3u
面试题:
写一个简单的计算器。
代码实现:
抽象一个运算类:
创建工厂类:
抽象运算的实现类:
用户类:
测试结果:
面试题:
写一个简单的计算器。
代码实现:
抽象一个运算类:
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 bcf7 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设计模式_工厂模式在开发中的运用
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- JAVA开发的23种设计模式之 --- 工厂模式 && 抽象工厂模式
- 实例解析观察者模式及其在Java设计模式开发中的运用
- Java中的DAO设计模式应用举例 ------> 来自Java WEB 开发实战经典
- Java开发中常用的设计模式(一)---工厂模式
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- Android的开发之&java23中设计模式------>工厂模式
- Java开发中的23种设计模式详解----工厂设计模式
- Java23种设计模式之-----工厂模式在开发中的应用
- Java开发中的23种设计模式--工厂
- Java开发中的23种设计模式详解【经典】(转)
- 23种经典设计模式的java实现_4_生成器模式
- 从追MM谈Java的23种设计模式 - 太经典了,转到自己的BLOG上收藏着先
- 从追MM谈Java的23种设计模式(转就转经典的贴)
- 23种经典设计模式的java实现_5_职责链模式