大话设计模式_简单工厂模式
2013-03-05 21:51
316 查看
本文用工厂模式实现 计算器的四则运算
package com.wzs.design;
import java.util.Scanner;
/**
* 大话设计模式--page10 简单工厂模式
*
* @author Administrator
*
*/
public class SimpleFactory {
public static void main(String[] args) {
System.out.println("请输入数字和操作符:(1-加法,2-减法,3-乘法,4-除法)");
Scanner input = new Scanner(System.in);
double numA = input.nextDouble();
double numB = input.nextDouble();
int operationNum = input.nextInt();
Operation operation = OperationFactory.createOperation(operationNum);
operation.setNumA(numA);
operation.setNumB(numB);
System.out.println(operation.getResult());
}
}
/**
* 生成操作的简单工厂
*/
class OperationFactory {
public static Operation createOperation(int operationNum) {
Operation operation = null;
switch (operationNum) {
case 1:
operation = new OperationAdd();
break;
case 2:
operation = new OperationSub();
break;
case 3:
operation = new OperationMul();
break;
case 4:
operation = new OperationDiv();
break;
default:
break;
}
return operation;
}
}
/**
* 操作运算
*/
class Operation {
public double numA;
public double numB;
public void setNumA(double numA) {
this.numA = numA;
}
public void setNumB(double numB) {
this.numB = numB;
}
public double getResult() {
double result = 0;
return result;
}
}
/**
* 加 +
*/
class OperationAdd extends Operation {
@Override
public double getResult() {
double result = super.numA + super.numB;
return result;
}
}
/**
* 减 +
*/
class OperationSub extends Operation {
@Override
public double getResult() {
double result = super.numA - super.numB;
return result;
}
}
/**
* 乘 *
*/
class OperationMul extends Operation {
@Override
public double getResult() {
double result = super.numA * super.numB;
return result;
}
}
/**
* 除 /
*/
class OperationDiv extends Operation {
@Override
public double getResult() {
if (super.numB == 0) {
System.out.println("除数不能为0.");
System.exit(0);
}
double result = super.numA / super.numB;
return result;
}
}
package com.wzs.design;
import java.util.Scanner;
/**
* 大话设计模式--page10 简单工厂模式
*
* @author Administrator
*
*/
public class SimpleFactory {
public static void main(String[] args) {
System.out.println("请输入数字和操作符:(1-加法,2-减法,3-乘法,4-除法)");
Scanner input = new Scanner(System.in);
double numA = input.nextDouble();
double numB = input.nextDouble();
int operationNum = input.nextInt();
Operation operation = OperationFactory.createOperation(operationNum);
operation.setNumA(numA);
operation.setNumB(numB);
System.out.println(operation.getResult());
}
}
/**
* 生成操作的简单工厂
*/
class OperationFactory {
public static Operation createOperation(int operationNum) {
Operation operation = null;
switch (operationNum) {
case 1:
operation = new OperationAdd();
break;
case 2:
operation = new OperationSub();
break;
case 3:
operation = new OperationMul();
break;
case 4:
operation = new OperationDiv();
break;
default:
break;
}
return operation;
}
}
/**
* 操作运算
*/
class Operation {
public double numA;
public double numB;
public void setNumA(double numA) {
this.numA = numA;
}
public void setNumB(double numB) {
this.numB = numB;
}
public double getResult() {
double result = 0;
return result;
}
}
/**
* 加 +
*/
class OperationAdd extends Operation {
@Override
public double getResult() {
double result = super.numA + super.numB;
return result;
}
}
/**
* 减 +
*/
class OperationSub extends Operation {
@Override
public double getResult() {
double result = super.numA - super.numB;
return result;
}
}
/**
* 乘 *
*/
class OperationMul extends Operation {
@Override
public double getResult() {
double result = super.numA * super.numB;
return result;
}
}
/**
* 除 /
*/
class OperationDiv extends Operation {
@Override
public double getResult() {
if (super.numB == 0) {
System.out.println("除数不能为0.");
System.exit(0);
}
double result = super.numA / super.numB;
return result;
}
}
相关文章推荐
- <一>读<<大话设计模式>>之简单工厂模式
- 读前辈的大话设计模式(一)之简单工厂模式,抒自己的读后感
- 《大话设计模式》笔记-模式0 简单工厂模式
- 大话设计模式C++版——简单工厂模式
- 大话设计模式 第一章 简单工厂模式 C++实现
- 大话设计模式第一讲(简单工厂模式)
- 读《大话设计模式》——简单工厂模式(一)
- 2009-03-09读书记录:《大话设计模式》第一章——简单工厂模式
- 《大话设计模式》代码JAVA版-第1章 简单工厂模式
- 《大话设计模式》——读后感 (1)代码无错就是优?——简单工厂模式
- 笔记-大话设计模式-01 简单工厂模式
- 读书 大话设计模式 第一章 简单工厂模式 C++实现 已完
- 大话设计模式——第1章 代码无错就是优?——简单工厂模式
- 大话设计模式——简单工厂模式
- 【大话设计模式——学习笔记(1)】简单工厂模式
- 大话设计模式 第一章 简单工厂模式
- 《大话设计模式》第1章 简单工厂模式(Java语言)
- 《大话设计模式》读书笔记--简单工厂模式
- 读《大话设计模式》有感之简单工厂模式
- 大话设计模式-简单工厂模式(1)