java设计模式_简单工厂
2014-09-24 00:00
357 查看
/** * @Title: Calculation.java * @Package com.wangbiao.design.factory * @Description: TODO * @author wangbiao * @date 2014-9-24 下午11:16:27 * @version V1.0 */ package com.wangbiao.design.factory; /** * @Title: Calculation.java * @Package com.wangbiao.design.factory * @Description: TODO * @author wangbiao * @date 2014-9-24 下午11:16:27 * @version V1.0 */ public abstract class Calculation { 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(); } class AddOperation extends Calculation{ @Override public double getResult() { return this.getNum1() +this.getNum2(); } } class SubOperation extends Calculation{ @Override public double getResult() { return this.getNum1()- this.getNum2(); } } class MulOperation extends Calculation{ @Override public double getResult() { return this.getNum1() * this.getNum2(); } } class DivOperation extends Calculation{ @Override public double getResult() { if(this.getNum2() != 0){ return this.getNum1() / this.getNum2(); }else{ System.out.println("分母不能为零"); return 0; } } } /** * @Title: CalculationFactory.java * @Package com.wangbiao.design.factory * @Description: TODO * @author wangbiao * @date 2014-9-24 下午11:14:35 * @version V1.0 */ package com.wangbiao.design.factory; /** * @Title: CalculationFactory.java * @Package com.wangbiao.design.factory * @Description: TODO * @author wangbiao * @date 2014-9-24 下午11:14:35 * @version V1.0 */ public class CalculationFactory { Calculation cal = null; public Calculation operation(int operation){ switch(operation){ case 0: cal = new AddOperation(); break; case 1: cal = new SubOperation(); break; case 2: cal = new MulOperation(); break; case 3: cal = new DivOperation(); break; } return cal; } } /** * @Title: Client.java * @Package com.wangbiao.design.factory * @Description: TODO * @author wangbiao * @date 2014-9-24 下午11:19:45 * @version V1.0 */ package com.wangbiao.design.factory; /** * @Title: Client.java * @Package com.wangbiao.design.factory * @Description: TODO * @author wangbiao * @date 2014-9-24 下午11:19:45 * @version V1.0 */ public class Client { /** * @param args */ public static void main(String[] args) { //+ 0 //- 1 //* 2 /// 3 Calculation cal = new CalculationFactory().operation(0); cal.setNum1(5); cal.setNum2(6); System.out.println(cal.getResult()); } }
相关文章推荐
- 设计模式之—简单工厂方法(StaticFactory )-Java实现
- Java实践之路(设计模式)——工厂模式(简单工厂)
- Java与设计模式(01)--简单工厂模式
- 追MM与设计模式的JAVA实现-简单工厂方法
- java简单工厂设计模式
- java中的设计模式(一)--简单工厂模式
- java设计模式之简单工厂模式
- Java设计模式----------简单工厂类+工厂方法(FactoryMethod)
- java设计模式-创建模式之 简单工厂,工厂方法和抽象工厂的区别总结
- 设计模式--创建模式--简单工厂模式--java
- java 设计模式-简单工厂
- 设计模式之一:Java中的简单工厂模式
- JAVA设计模式 — 简单工厂模式
- Java设计模式---简单工厂
- JAVA设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- Java设计模式:工厂模式(一)简单工厂模式
- 黑马程序员_JAVA设计模式之简单工厂
- Java设计模式学习1—简单工厂模式
- Java--设计模式之简单工厂模式
- java设计模式笔记之简单工厂