首页 > 其他 > 详细

简单工厂模式

时间:2021-06-27 17:28:34      阅读:42      评论:0      收藏:0      [点我收藏+]

简单工厂模式是最简单的工厂模式,一般用在只需要单一工厂,而且产品少,同一时间只需要创建单一产品的情况下。

 1 enum ProductType{TypeA,TypeB,TypeC};
 2 
 3 class Product
 4 {
 5 public:
 6     virtual void show() = 0;
 7     virtual ~Product(){};
 8 };
 9 
10 class ProductA:public Product
11 {
12 public:
13     void show()
14     {
15         cout<<"This is A"<<endl;
16     }
17     ProductA()
18     {
19         cout<<"Constructing ProductA"<<endl;
20     }
21     ~ProductA()
22     {
23         cout<<"Destructing ProductA"<<endl;
24     }
25 };
26 
27 class ProductB:public Product
28 {
29 public:
30     void show()
31     {
32         cout<<"This is B"<<endl;
33     }
34     ProductA()
35     {
36         cout<<"Constructing ProductB"<<endl;
37     }
38     ~ProductA()
39     {
40         cout<<"Destructing ProductB"<<endl;
41     }
42 };
43 
44 class ProductC:public Product
45 {
46 public:
47     void show()
48     {
49         cout<<"This is C"<<endl;
50     }
51     ProductA()
52     {
53         cout<<"Constructing ProductC"<<endl;
54     }
55     ~ProductA()
56     {
57         cout<<"Destructing ProductC"<<endl;
58     }
59 };
60 
61 class ProductFactory{
62 public:
63     Product*CreateProduct(productType type)
64     {
65         switch(type)
66         {
67         case TypeA:
68             return new ProductA();
69         case TypeB:
70             return new ProductB();
71 
72         case TypeC:
73             return new ProductC();
74 
75         default:
76             return nullptr;
77         }
78     }
79 };

 

简单工厂模式

原文:https://www.cnblogs.com/xyhj/p/14940339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!