Java 工厂模式简单运用
来源:互联网 发布:判断素数的条件c语言 编辑:程序博客网 时间:2024/04/30 02:55
运用工厂模式实现简单计算:
package com.simplecalculation;/*** 抽象的运算类,包括操作数* @author rcy*/public abstract class Operation { private int num1; private int num2; /** * 运算结果的抽象方法 * @return */ public abstract int getResult(); public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; }}
package com.simplecalculation;/*** 加运算类,实现getResult获取加后的结果* @author Owner**/public class AddOperation extends Operation{ @Override public int getResult() { return this.getNum1() + this.getNum2(); }}
package com.simplecalculation;/*** 减运算类,实现具体的减操作运算* @author rcy*/public class SubtractOperation extends Operation{ @Override public int getResult() { return this.getNum1() - this.getNum2(); }}
package com.simplecalculation;/*** 运算的工厂类,主要生成加/减操作对象* @author rcy*/public class OperationFactory { /** * 通过操作符号,获取运算对象 * @param oper * @return */ public static Operation getOperation(String oper){ if(oper.equals("+")){ return new AddOperation(); }else if(oper.equals("-")){ return new SubtractOperation(); }else{ return null; } }}
package com.simplecalculation;import java.util.Scanner;/*** @author rcy*/public class Customer { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入第一个数:"); int num1 = sc.nextInt(); System.out.println("输入运算符:"); String oper = sc.next(); System.out.println("输入第二个数:"); int num2 = sc.nextInt(); //获取运算对象 Operation operation = OperationFactory.getOperation(oper); operation.setNum1(num1); operation.setNum2(num2); System.out.println("运算结果为:"+operation.getResult()); }}
输出结果为:输入第一个数:3输入运算符:+输入第二个数:2运算结果为:5
0 0
- Java 工厂模式简单运用
- 工厂模式简单运用
- 简单工厂模式的基本运用
- Java 简单工厂模式
- java 简单工厂模式
- 简单工厂模式--Java
- Java简单工厂模式
- Java简单工厂模式
- java简单工厂模式
- java 简单工厂模式
- java 简单工厂模式
- java简单工厂模式
- 简单工厂模式(Java)
- java 简单工厂模式
- JAVA简单工厂模式
- Java简单工厂模式
- Java 简单工厂模式
- java简单工厂模式
- Xcode6中添加pch文件
- ffmpeg + x264编译
- 判断好公司的6条标准
- 马云:初次创业 我对科技和计算机一无所知
- php将两个数组相同的key合并到一个数组
- Java 工厂模式简单运用
- sed 用法
- @MappedSuperclass
- Oracle自带的用户
- Leetcode:Longest Valid Parentheses
- 黑马程序员——6、OC语言(基本语法)
- 转载将多个工程打包成一个apk
- Dex文件的内存映射
- 使用QUdpSocket进行UDP编程