• 简单的工厂设计模式制作计算器


    实体类: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%都会有答案。那么作为我们新人的的核心竞争力到底在哪里?
  • 相关阅读:
    PostgreSQL数据库中的常见错误
    postgresql相关命令
    Linux系统查看公网IP地址
    TCP/IP TIME_WAIT状态原理
    TCP连接状态详解及TIME_WAIT过多的解决方法
    让你提升命令行效率的 Bash 快捷键 [完整版]
    linux 如何显示一个文件的某几行(中间几行)
    linux中内核的一个不错的参数somaxconn
    Linux crontab 实现每秒执行
    Linux tar This does not look like a tar archive
  • 原文地址:https://www.cnblogs.com/harry-Consonance/p/6511276.html
Copyright © 2020-2023  润新知