首页 > 代码库 > (转) java 简单工厂模式(实现一个计算器)
(转) java 简单工厂模式(实现一个计算器)
package com.simpleFactory;/** * 运算类 * @author Administrator * */public class Operation { private double numberA; private double numberB; public double getResultValue(){ return 0.0; } 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; } }
package com.simpleFactory;/** * 加法实现方式 * @author Administrator * */public class Addition extends Operation { @Override public double getResultValue() { return getNumberA() + getNumberB(); }}
package com.simpleFactory;/** * 减法实现方式 * @author Administrator * */public class Subtracter extends Operation { @Override public double getResultValue() { return getNumberA() - getNumberB(); }}
package com.simpleFactory;/** * 简单工厂类 * @author Administrator * */public class SimpleFactory { private Operation operation; public Operation factoryOperate (String type ){ if ("+".equals(type)){ operation = new Addition(); } else if ("-".equals(type)){ operation = new Subtracter(); } return operation; }}
package com.simpleFactory;/** * 简单工厂类 ,利用反射实现 * @author Administrator * */public class SimpleFactory_reflect { private Operation operation; public Operation factoryOperate (String classType ){ try { operation = (Operation)Class.forName("com.simpleFactory."+classType).newInstance(); } catch (Exception e) { e.printStackTrace(); } return operation; }}
重点的是在反射这里,通过反射机制可以不要在增加新功能时修改工厂类,只需要将新的方法函数名加进去就可以了。
(转) java 简单工厂模式(实现一个计算器)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。