工厂方法
来源:互联网 发布:杭州云优化 编辑:程序博客网 时间:2024/05/11 21:05
与简单工厂模式相比,工厂方法模式对工厂类进行了抽象,把逻辑实现放在了具体的工厂(社会分工开始,工厂开始细分,每个工厂只生产一个产品)
1 #include <iostream>
2 #include <string>
3
4 using namespace std;
5
6 class Car
7 {
8 public:
9 virtual ~Car(){}
10 virtual void run()=0;
11 };
12
13 class QQ: public Car
14 {
15 public:
16 void run()
17 {
18 cout << "QQ run ..." << endl;
19 }
20 };
21
22 class BMW: public Car
23 {
24 public:
25 void run()
26 {
27 cout << "BMW run ..." << endl;
28 }
29 };
30
31 class CarFactory
32 {
33 public:
34 virtual ~CarFactory(){};
35 virtual Car* createCar()=0;
36 };
37
38 class QQFactory: public CarFactory
39 {
40 public:
41 Car* createCar()
42 {
43 return new QQ();
44 }
45 };
46
47 class BMWFactory: public CarFactory
48 {
49 public:
50 Car* createCar()
51 {
52 return new BMW();
53 }
54 };
55
56
57 int main()
58 {
59 CarFactory* factory = new QQFactory();
60 Car * car = factory->createCar();
61 car->run();
62 delete car;
63 delete factory;
64
65 factory = new BMWFactory();
66 car = factory->createCar();
67 car->run();
68 delete car;
69 delete factory;
70 }
- 工厂与工厂方法
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 抽象工厂 工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 简单工厂,工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- 工厂方法
- C语言实现等待动画
- 串口设置,select和 signal 在linux编程中的使用实例
- PL/SQL Developer中如何调试oracle的存储过程(转)
- HDU 1253 胜利大逃亡
- div 显示垂直滚动条
- 工厂方法
- Jquery与其他js起冲突的解决办法
- 得到一个bitmap的倒影
- 程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现)
- 15周实验报告任务 2
- WSAAsyncSelect应用
- div 前台绑定html
- C++实现哈希表 HashMap冲突链式解决
- 先留着,一个spring的详细配置