大话设计模式1 简单工厂模式 的java代码实现
来源:互联网 发布:mac 破解软件大全 编辑:程序博客网 时间:2024/05/21 06:36
首先是Operation抽象类:
package yx.designpattern.simpleFactory;abstract class Operation {public double number1;public double number2;public double getNumber1() {return number1;}public void setNumber1(double number1) {this.number1 = number1;}public double getNumber2() {return number2;}public void setNumber2(double number2) {this.number2 = number2;}public abstract double getResult() throws Exception;}
继承Operation的加法类:OperationAdd
package yx.designpattern.simpleFactory;public class OperationAdd extends Operation {@Overridepublic double getResult() {return number1+number2;}}
继承Operation的减法类:OperationSub
package yx.designpattern.simpleFactory;public class OperationSub extends Operation {@Overridepublic double getResult() {return number1-number2;}}
继承Operation的乘法类:OperationMul
package yx.designpattern.simpleFactory;public class OperationMul extends Operation {@Overridepublic double getResult() {return number1*number2;}}
继承Operation的除法类:OperationDiv:
package yx.designpattern.simpleFactory;public class OperationDiv extends Operation {@Overridepublic double getResult() throws Exception {if(number2==0){throw new Exception("除数不能为0");}return number1/number2;}}
生成Operation的工厂类:OperationFactory
package yx.designpattern.simpleFactory;public class OperationFactory {public static Operation createOperation(char operation){Operation oper=null;switch(operation){case '+' :oper=new OperationAdd();break;case '-':oper=new OperationSub();break;case '*':oper=new OperationMul();break;case '/':oper=new OperationDiv();break;default:break;}return oper;}}
客户端类:
package yx.designpattern.simpleFactory;public class Test {public static void main(String[] args) {Operation oper;oper=OperationFactory.createOperation('/');oper.number1=1;oper.number2=0;try {System.out.println(oper.getResult());} catch (Exception e) {e.printStackTrace();}}}
0 0
- 大话设计模式1 简单工厂模式 的java代码实现
- 《大话设计模式》java实现之简单工厂模式
- 《大话设计模式》代码JAVA版-第1章 简单工厂模式
- 简单工厂实现-大话设计模式
- 简单工厂实现-大话设计模式
- 大话设计模式5 工厂方法模式 的java代码实现
- 大话设计模式-第1章代码无错就是优?-简单的工厂模式
- 大话设计模式之简单工厂模式代码
- 简单工厂模式C++代码示例---《大话设计模式》笔记
- 大话设计模式2 策略模式 的java代码实现
- 大话设计模式3 装饰模式 的java代码实现
- 大话设计模式4 代理模式 的java代码实现
- 《大话设计模式》读书笔记(C++代码实现) 第一章:简单工厂模式
- 大话设计模式之C++实现---简单工厂模式
- 大话设计模式(C++实现)--简单工厂模式
- 大话设计模式c++实现之一 简单工厂模式
- 大话设计模式 第一章 简单工厂模式 C++实现
- 大话设计模式1 简单工厂模式 策略模式
- poj2528--Mayor's posters(线段树+离散化)
- zoj2297Survival (状态压缩DP)
- POJ 1088 滑雪 记忆化优化题解
- 如何在meidastreamer中添加h264编码器
- 【练手小程序——01】迷宫问题
- 大话设计模式1 简单工厂模式 的java代码实现
- hdu3342-Legal or Not 通过拓扑判断是不是有向环
- poj 2115 (数论之扩展欧几里得算法)
- db2codepage=1386
- 关于python文件操作
- oracle产品
- 字节的高低位知识,Ascii,GB2312,UNICODE等编码的关系与来历
- hdu 2566 统计硬币(母函数)
- 动态规划入门戳进来