标签:简单 子类 case new 运行时 多态 ios end turn
工厂模式分为3种,即简单工厂模式、工厂方法模式、抽象工厂模式,其实大同小异,总结下来就是:
简单工厂模式:一个工厂,多个产品。产品需要有一个虚基类。通过传入参数,生成具体产品对象,并利用基类指针指向此对象。通过工厂获取此虚基类指针,通过运行时多态
1 // Factory.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <string> 7 using namespace std; 8 class Product 9 { 10 public: 11 virtual void show() = 0; 12 }; 13 class Product_A:public Product 14 { 15 public: 16 void show() override 17 { 18 cout<<"Product_A"<<endl; 19 } 20 }; 21 class Product_B:public Product 22 { 23 public: 24 void show() override 25 { 26 cout<<"Product_B"<<endl; 27 } 28 }; 29 class Factory 30 { 31 public: 32 Product* create(int i) 33 { 34 switch(i) 35 { 36 case 1: 37 return new Product_A; 38 break; 39 case 2: 40 return new Product_B; 41 break; 42 default: 43 break; 44 } 45 } 46 }; 47 48 int _tmain(int argc, _TCHAR* argv[]) 49 { 50 Factory *factory = new Factory(); 51 factory->create(1)->show(); 52 factory->create(2)->show(); 53 system("pause"); 54 return 0; 55 }
,调用子类实现。
标签:简单 子类 case new 运行时 多态 ios end turn
原文地址:https://www.cnblogs.com/wxmwanggood/p/9273173.html