1_2 AbstractFactoryMode 抽象工厂模式
生活随笔
收集整理的這篇文章主要介紹了
1_2 AbstractFactoryMode 抽象工厂模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 定義:提供一個創建一系列相關或者相互依賴的接口,而無需
// 指定他的具體類
//
// 模式舉例:鑰匙和鎖成對生產,節約工廠類的個數
//
// 模式特點:
//
//#include<iostream>
#include<string>
using namespace std;class ProductLock
{
public:virtual void showLockName()=0;
};class ProductKey
{
public:virtual void showKeyName()=0;
};class Factory
{
public:virtual ProductLock * createProductLock()=0;virtual ProductKey * createProductKey()=0;
};class ProductLockA : public ProductLock
{
public:virtual void showLockName(){cout <<"ProductLockA"<<endl;}
};class ProductLockB : public ProductLock
{
public:virtual void showLockName(){cout <<"ProductLockB"<<endl;}
};class ProductKeyA : public ProductKey
{
public:virtual void showKeyName(){cout <<"ProductKeyA"<<endl;}
};class ProductKeyB : public ProductKey
{
public:virtual void showKeyName(){cout <<"ProductKeyB"<<endl;}
};class FactoryA : public Factory
{
public:virtual ProductLock * createProductLock(){return new ProductLockA();}virtual ProductKey * createProductKey(){return new ProductKeyA();}
};class FactoryB : public Factory
{
public:virtual ProductLock * createProductLock(){return new ProductLockB();}virtual ProductKey * createProductKey(){return new ProductKeyB();}
};int main()
{Factory * factory = new FactoryA();ProductLock * productlock = factory->createProductLock();ProductKey * productkey = factory->createProductKey();productlock->showLockName();productkey->showKeyName();return 0;
}
?
總結
以上是生活随笔為你收集整理的1_2 AbstractFactoryMode 抽象工厂模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2_5 BridgeMode.cpp 桥
- 下一篇: 2_6 CompositeMode.cp