zoukankan      html  css  js  c++  java
  • 简单的工厂设计模式制作计算器

    实体类:Operation

    package cc.cm.Impl;

    public class Operation {
    private double number1=0.0;
    private double number2=0.0;
    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 double GetResult(){
    double result=0.0;
    return result;
    }

    /**

    main测试

    */
    public static void main(String[] args) {
    Operation oper=OperationFactory.createOperation("+");
    oper.setNumber1(10.00);
    oper.setNumber2(20.00);
    double result=oper.GetResult();
    System.out.println(result);
    }
    }
    class OperationAdd extends Operation {

    public double GetResult(){
    double result=0.0;
    result =getNumber1()+getNumber2();
    return result;
    }

    }
    class OperationSub extends Operation {

    public double GetResult(){
    double result=0.0;
    result =getNumber1()-getNumber2();
    return result;
    }

    }
    class OperationMul extends Operation {

    public double GetResult(){
    double result=0.0;
    result =getNumber1()*getNumber2();
    return result;
    }

    }
    class OperationDiv extends Operation {

    public double GetResult(){
    double result=0.0;
    result =getNumber1()/getNumber2();
    return result;
    }

    }

    工厂类:

    package cc.cm.Impl;

    public class OperationFactory {

    public static Operation createOperation(String f) {
    Operation oper = null;
    try {
    switch (f) {
    case "+":
    oper=new OperationAdd();
    break;
    case "-":
    oper=new OperationSub();
    break;
    case "*":
    oper=new OperationMul();
    break;
    case "/":
    oper=new OperationDiv();
    break;
    }

    } catch (Exception e) {

    }


    return oper;
    }
    }

    北上广深是个高节奏的生活,作为一个新人,很多时候我们都在感叹职位上老人的智慧。以前通过搜索引擎,80%的问题都有答案。那么现在我是觉得90%都会有答案。那么作为我们新人的的核心竞争力到底在哪里?
  • 相关阅读:
    括号匹配性检测C语言实现
    预处理命令--宏定义
    *运算和&运算
    retain, copy, assign以及autorelease
    自定义 一个单例
    多米音乐笔试题
    UI-自定义视图、视图控制器
    Foundation框架—集合
    Foundation框架—字符串
    Foundation框架—结构体
  • 原文地址:https://www.cnblogs.com/harry-Consonance/p/6511276.html
Copyright © 2011-2022 走看看