zoukankan      html  css  js  c++  java
  • 工厂方法模式

    1】什么是工厂方法模式?
    
    定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。
    
    【2】工厂方法模式代码示例
    #include <iostream>
    #include <string>
    using namespace std;
    
    class Operation
    {
    public:
        double numberA;
        double numberB;
    
        virtual double getResult()
        {
            return 0;
        }
    };
    
    class addOperation : public Operation
    {
        double getResult()
        {
            return numberA + numberB;
        }
    };
    
     
    class subOperation : public Operation
    {
        double getResult()
        {
            return numberA - numberB;
        }
    };
    
    class mulOperation : public Operation
    {
        double getResult()
        {
            return numberA * numberB;
        }
    };
    
    class divOperation : public Operation
    {
        double getResult()
        {
            return numberA / numberB;
        }
    };
    
    class IFactory
    {
    public:
        virtual Operation *createOperation() = 0;
    };
    
    class AddFactory : public IFactory
    {
    public:
        static Operation *createOperation()
        {
            return new addOperation();
        }
    };
    
    
    class SubFactory : public IFactory
    {
    public:
        static Operation *createOperation()
        {
            return new subOperation();
        }
    };
    
    class MulFactory : public IFactory
    {
    public:
        static Operation *createOperation()
        {
            return new mulOperation();
        }
    };
    
    class DivFactory : public IFactory
    {
    public:
        static Operation *createOperation()
        {
            return new divOperation();
        }
    };
    
    int main()
    {
        Operation *oper = MulFactory::createOperation();
        oper->numberA = 9;
        oper->numberB = 99;
        cout << oper->getResult() << endl;
        return 0;
    }
  • 相关阅读:
    微信小程序中的iPhone X适配问题
    微信小程序例子-保存图片到手机相册
    微信小程序客服消息使用指南
    移动APP 微信支付完整过程(wxPay 方案一)
    promise原理及使用方法
    apicloud UISearchBar 使用方法
    数据库死锁及解决方法
    js replace使用及正则表达式使用
    POI Workbook接口和HSSFWorkbook对象和XSSFWorkbook对象操作相应excel版本
    HSSFWorkbook 模版使用
  • 原文地址:https://www.cnblogs.com/leijiangtao/p/4534644.html
Copyright © 2011-2022 走看看