工厂方法
来源:互联网 发布:淘宝怎么改价钱 编辑:程序博客网 时间:2024/06/05 12:45
工厂方法:父类负责定义创建对象的公共接口,而之类负责生产具体的对象。将类的实例化操作延迟到之类中完成,即由子类决定实例化哪个类。
class Product{public:virtual void Show()=0;};class ProductA:public Product{public:void Show(){cout<<"ProductA"<<endl;}};class ProductB:public Product{public:void Show(){cout<<"ProductB"<<endl;}};class Factory{public:virtual Product *CreateProduct()=0;};class Factory1:public Factory{public:Product *CreateProduct(){return new ProductA();}};class Factory2:public Factory{public:Product *CreateProduct(){return new ProductB();}};int main(){Factory *pF=new Factory1();Product *pA=pF->CreateProduct();pA->Show();return 0;}
工厂方法把简单工厂的内部逻辑判断移到客户端代码来进行(new Factory1())。
1.一个抽象产品类,可派生出多个具体的产品。抽象产品product,派生出productA,productB
2.一个抽象工厂类,可派生出多个具体的工厂类。抽象工厂Factory,派生出Factory1,Factory2
3.每个具体工厂类只能创建一个具体产品类的实例。具体工厂类Factory1只能产生productA,具体工厂类Factory2只能产生productB
0 0
- 工厂与工厂方法
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 抽象工厂 工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 简单工厂,工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- Android_开启应用
- 黑马程序员Volley 图片加载相关源码解析
- 用html中img元素画横竖直线的方法
- Ubuntu安装谷歌中文输入法
- Struts 2 mapping interceptors to action
- 工厂方法
- Java 保留两位小数
- Android开发 打开文件 选择文件对话框
- Android 使用LeakCanary 检测内存泄露
- Word Break II
- IS--A与 Has-a 区别
- std::function与std::bind 函数指针
- Xcode 调试必知必会
- 第三周上机实践—项目1—顺序表的基本运算