博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工厂方法模式
阅读量:7237 次
发布时间:2019-06-29

本文共 1491 字,大约阅读时间需要 4 分钟。

【1】什么是工厂方法模式?定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。【2】工厂方法模式代码示例#include 
#include
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;}

 

转载地址:http://atrfm.baihongyu.com/

你可能感兴趣的文章
Spring中bean的范围
查看>>
JavaScript实现自适应窗口大小的网页
查看>>
跟我一起数据挖掘(5)——数据类型
查看>>
DIV 拖动效果高级篇
查看>>
SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例
查看>>
Web性能--TCP的构成
查看>>
(十七)java冒泡排序和compareto
查看>>
linux内存查看方式
查看>>
Java魔法堂:String.format详解-
查看>>
线性重复动画
查看>>
炒冷饭系列:设计模式 建造者模式
查看>>
BAT解密:互联网技术发展之路(2)- 业务如何驱动技术发展
查看>>
bat脚本自动扫描制定文件夹下shp文件,并导入数据库,然后执行空间操作
查看>>
关于AsyncHttpClient的cz.msebera.android.httpclient.Header
查看>>
Codekit - 为Web前端打造的全能型神器(附推荐各种工具)
查看>>
JSP JSTL SQL标签操作数据库
查看>>
compare python use py-postgresql & direct pgbench's performance
查看>>
【hibernate框架】核心开发接口-update方法
查看>>
Android过场动画基础教程
查看>>
实现指定任意数量的方块EditText容器BlockEditTextViewGroup
查看>>