`
yangyiqian
  • 浏览: 117843 次
  • 来自: ...
社区版块
存档分类
最新评论

简单工厂模式_计算器实现

    博客分类:
  • JAVA
阅读更多
计算器程序的简单工厂模式实现


Operation.java

package com.calculator;



public abstract class Operation {//抽象类



    private double _numberA = 0;

    private double _numberB = 0;



    public double get_numberA() {

        return _numberA;

    }



    public void set_numberA(double _numbera) {

        _numberA = _numbera;

    }



    public double get_numberB() {

        return _numberB;

    }



    public void set_numberB(double _numberb) {

        _numberB = _numberb;

    }

    

    public abstract double GetResult();



}



-----------------


OperationAdd.java


package com.calculator;



public class OperationAdd extends Operation{



    @Override

    public double GetResult() {

        // TODO Auto-generated method stub

        double result = 0;

        result = get_numberA() + get_numberB();

        return result;

    }



}





class OperationSub extends Operation{



    @Override

    public double GetResult() {

        // TODO Auto-generated method stub

        double result = 0 ;

        result = get_numberA() - get_numberB();

        return result;

    }

    

}





class OperationMul extends Operation{



    @Override

    public double GetResult() {

        // TODO Auto-generated method stub

        double result = 0 ;

        result = get_numberA() * get_numberB();

        return result;

    }

    

}





class OperationDiv extends Operation {



    @Override

    public double GetResult() {

        // TODO Auto-generated method stub

        double result = 0 ;

        if(get_numberB() == 0)

            try {

                throw new Exception("除数不能为0");

            } catch (Exception e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        result = get_numberA() / get_numberB();

        return result;

    }

    

}


---------


OperationFactory.java


package com.calculator;



public class OperationFactory {

    

    public static Operation createOperate(char operate){

        

        Operation operation = null;

        

        switch(operate){

        case '+':

            operation = new OperationAdd();

            break;

        case '-':

            operation = new OperationSub();

            break;

        case '*':

            operation = new OperationMul();

            break;

        case '/':

            operation = new OperationDiv();

            break;

        }

        return operation;

    }

    

    



}


-------------

CustClient.java


package com.calculator;



public class CustClient {

    

    public static void run(){

        Operation  oper ;

        oper = OperationFactory.createOperate('/');

        oper.set_numberA(1);

        oper.set_numberB(2);

        double result = oper.GetResult();

        System.out.println(result);

    }

    

    

    public static void main(String [] args){

        CustClient.run();

    }



}





  • 大小: 31.2 KB
分享到:
评论

相关推荐

    C#工厂模式_计算器

    "C#工厂模式_计算器"是一个示例,它展示了如何在C#中应用工厂模式来实现一个计算器,同时也涉及到了多态性这一核心面向对象编程概念。 首先,让我们详细解释一下工厂模式。工厂模式是一种创建型设计模式,它的主要...

    抽象工厂模式实现计算器

    在实现中,`WebTest`可能是测试项目或类库的名称,用于验证抽象工厂模式在计算器应用中的正确性。在这个测试项目中,我们可能会创建不同的工厂实例,然后使用这些工厂生成计算器对象并执行计算操作,以此来确保每个...

    C++制作的简单工厂模式计算器

    **简单工厂模式计算器** 在软件设计模式中,简单工厂模式是一种常用的创建型模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。在这个案例中,"C++制作的简单工厂模式计算器"就是一个运用了简单...

    Android计算器(简单工厂模式)

    **Android计算器(简单工厂模式)** 简单工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在这个模式中,一个单独的类(被称为工厂)负责创建对象,客户端通过调用工厂方法来获取所需的对象,而无需...

    简单工厂设计模式实现的计算器

    在这个实现的计算器项目中,我们利用了简单工厂模式,结合了面向对象编程的三大特性——继承、封装和多态,来构建一个灵活且易于扩展的计算器系统。 首先,我们来看一下简单工厂模式的核心思想。在该模式中,我们...

    简单工厂模式(计算器)

    在本例中,"简单工厂模式(计算器)"是一个基于C#语言的控制台应用程序,它通过使用简单工厂模式来创建计算器的不同功能,如加法、减法、乘法和除法。 首先,我们来看简单工厂模式的核心结构。在模式中,有一个工厂...

    设计模式 简单工厂模式 简易计算器代码

    在“设计模式 简单工厂模式 简易计算器代码”这个主题中,我们将探讨如何使用简单工厂模式来实现一个简单的计算器。计算器是我们日常编程中常见的例子,因为它包含了多个操作,如加、减、乘、除等,这为我们展示了...

    简单工厂模式计算器(C#源码)

    在本例中,"简单工厂模式计算器(C#源码)"是一个使用C#编程语言实现的计算器应用,它运用了简单工厂模式来处理基本的四则运算(加、减、乘、除)。以下是对这个项目中涉及的关键知识点的详细说明: 1. **简单工厂...

    简单工厂模式-计算器

    在"简单工厂模式-计算器"这个例子中,我们看到的是一个基于Java实现的计算器应用,它可能包含了如何运用简单工厂模式来构建一个计算器的实例。在这个场景下,我们可以深入探讨以下几个方面: 1. **简单工厂方法**:...

    基于简单工厂模式实现的计算器例子

    包含两个zip文件夹calculatorConsole.zip和calculatorConsole2.zip,...还增加了异常处理,以及运用了“简单工厂设计模式”,代码的灵活性、扩展性、复用性、维护性都很好,可以很方便的移植到需要GUI的计算器实现中。

    利用简单工厂模式,实现简易计算器程序

    - **可复用性**:通过简单工厂模式,我们可以轻松创建不同类型的计算器,提高代码的复用性。 2. **实现方式**: - **Calculator接口**:定义所有计算器共有的方法,如`calculate(int num1, int num2)`,用于执行...

    C# 简单工厂模式 设计 计算器

    本文将详细探讨如何在C#中应用简单工厂模式来设计一个计算器,实现基本的邻位四则运算。 简单工厂模式是创建型设计模式之一,它的主要作用是提供一个工厂类,负责根据输入条件(例如运算符)动态地创建对象。在本例...

    用工厂方法模式做的一个简易计算器

    在这个例子中,我们讨论的是如何使用工厂方法模式(Factory Method Pattern)实现一个简易计算器。工厂方法模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂方法模式中,一个工厂接口或者抽象类...

    uml 文档 简单工厂模式

    UML文档-简单工厂模式 ...简单工厂模式和抽象工厂模式都是工厂模式的变种,它们都可以用来创建对象,但是它们的实现方式和应用场景不同。简单工厂模式适合创建单个产品,而抽象工厂模式适合创建多个产品族。

    用工厂方法模式重构简易计算器 源代码+实验报告

    本项目通过工厂方法模式重构简易计算器,旨在展示这种模式在实现基本计算功能时的优势。 首先,我们要理解工厂方法模式的基本概念。这是一种创建型设计模式,它定义了一个创建对象的接口,但允许子类决定实例化哪一...

    工厂模式实现的简单计算器

    在这个"工厂模式实现的简单计算器"中,我们看到的是工厂模式在实际应用中的一个实例。 首先,我们来详细了解一下工厂模式。工厂模式有三种主要的形式:简单工厂模式、工厂方法模式和抽象工厂模式。这里提到的应该是...

    设计模式之PHP项目应用(简单工厂模式:计算器)

    1)程序功能:用简单工厂模式实现计算器功能,采用PHP编写。 2)程序详解地址:http://blog.csdn.net/clevercode/article/details/45692995。 3)原创作品,出自"CleverCode的博客",分类为《设计模式之PHP项目应用...

    java命令行计算器_简单工厂模式

    Java命令行计算器是一个基于简单工厂模式实现的编程项目,它提供了基本的四则运算功能,包括加、减、乘、除。简单工厂模式是设计模式中的结构型模式,它的主要目的是将对象的创建过程封装起来,使代码更易于维护和...

    用简单工厂模式接口写计算器

    这个例子展示了如何利用C#实现简单工厂模式来构建一个计算器。通过这种方式,我们可以轻松地扩展计算器功能,只需添加新的计算器类并更新工厂类即可。同时,这种设计使代码更加模块化,易于理解和测试。 总结来说,...

    JAVA程序_计算器

    9. **设计模式**:虽然这是一个简单的项目,但也可以引入设计模式,比如工厂模式用于创建不同类型的计算操作,或者策略模式来动态改变计算算法。 10. **编译与运行**:在开发过程中,开发者会使用javac命令编译Java...

Global site tag (gtag.js) - Google Analytics