学习模式----工厂模式(2)
来源:互联网 发布:java构造图例子 编辑:程序博客网 时间:2024/06/08 10:40
2.工厂模式,一些类封装在工厂里面,要调用的时候可以通过工厂对象获得封装在工厂里面的类,从而得到类的方法。工厂模式使得二次编程用户不需要了解工厂里面封装的类,通过统一接口创建出想要的类。
class MyBase{public: MyBase(); virtual void add(int a,int b); virtual void sub (int a,int b);};
MyBase::MyBase(){}void MyBase::add(int a,int b){}void MyBase::sub (int a,int b){}
class A : public MyBase{public: A(); void add(int a,int b);};
A::A(){}void A::add(int a, int b){ cout<<"a+b="<<a+b<<endl;}
class B : public MyBase{public: B(); void sub(int a,int b);};
B::B(){}void B::sub(int a,int b){ cout<<"a-b="<<a-b<<endl;}
class MyFactory{public: MyFactory();public: static MyBase* createMyNeed(int iWhich);};
MyFactory::MyFactory(){}MyBase* MyFactory::createMyNeed(int iWhich){ MyBase *mb; if(iWhich == 1) { mb = new A(); } else if(iWhich == 2) { mb = new B(); } return mb;}
int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); MyBase *mb = MyFactory::createMyNeed(1); mb->add(3,4); MyBase *mb2 = MyFactory::createMyNeed(2); mb2->sub(5,4); return a.exec();}
结果:
- 设计模式学习(2)工厂模式,抽象工厂模式
- 学习模式----工厂模式(2)
- 设计模式学习之工厂模式(简单工厂模式)
- java学习之工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 没有工厂模式(工厂模式2)
- java 设计模式 学习笔记 (2) - 工厂方法模式
- java设计模式学习(一)-工厂方法模式2
- 设计模式的学习-(2)简单工厂模式
- 设计模式学习2 -- 工厂模式
- 设计模式学习(1) 工厂模式
- 设计模式学习(三) 工厂模式
- 设计模式学习(一)工厂模式
- 设计模式学习(工厂模式)
- 设计模式学习笔记(工厂模式)
- 设计模式-工厂模式(学习)
- 设计模式-抽象工厂模式(学习)
- 设计模式-java工厂模式2(抽象工厂模式)
- 设计模式学习-工厂模式
- JavaScript 命名规范
- iOS越狱开发之MobileSubstrate介绍
- LNMP安装配置手册
- 人人都来写算法 之 插入排序
- Effective C++(四)设计和声明
- 学习模式----工厂模式(2)
- 输出一个随机数
- Unity3D研究院之自制批量修改Shader插件(五十七)
- 电视导入jar
- Windows下常用的环境变量
- Wamp5 配置PHP 图文详解
- 三星平台 android audio 架构探讨点滴积累之二
- 第一次写博客,谈谈近期的感想
- CentOS下apache如何绑定域名