【Linux】設計模式-----簡單工廠模式
概念:簡單工廠模式即,只需要輸入例項化物件的名稱,工廠類就可以例項化出來需要的類。
核心:實現工廠模式的核心就是多個派生類public繼承基類,同時根據使用者的需求在簡單工廠類裡面例項化基類的物件,從而根據基類裡面的虛擬函式來實現對派生類的函式呼叫,同時實現多型。
如圖:
利用簡單計算器的例項來實現工廠模式:
#include<iostream>
using namespace std;
class _operator{
private:
int a;
int b;
public:
void setA(int _a) {a = _a;}
void setB(int _b) {b = _b;}
int GetA() {return a;}
int GetB() {return b;}
virtual int result() {return 0;}// 虛擬函式,為了通過基類的指標來呼叫派生類的物件
};
//通過對基類的虛擬函式進行不同的重寫,在呼叫的時候可以根據不同的需求進行不同的例項化
class Add:public _operator{
int result() {return GetA() + GetB();}
};
class Sub:public _operator{
int result() {return GetA() - GetB();}
};
class Mul:public _operator{
int result() {return GetA() * GetB();}
};
class Div:public _operator{
int result() {return GetA() / GetB();}
};
class factory{
public:
static _operator* GetOperator(char ch){
_operator* p = NULL;
switch(ch){
case '+':
p = new Add();
break;
case '-':
p = new Sub();
break;
case '*':
p = new Mul();
break;
case '/':
p = new Div();
break;
default:
exit(1);
}
return p;
}
};
注:利用輸入的不同,例項化不同的類物件,同時這些類有事通過繼承基類的,那麼從而在基類的指標來呼叫基類的虛擬函式,從而達到呼叫不同的派生類的目的。
相關文章
- 設計模式-簡單工廠、工廠方法模式、抽象工廠模式設計模式抽象
- 設計模式 - 簡單工廠模式設計模式
- 【設計模式】簡單工廠模式設計模式
- 設計模式——簡單工廠模式設計模式
- 設計模式-簡單工廠模式設計模式
- C# 設計模式(1)——簡單工廠模式、工廠模式、抽象工廠模式C#設計模式抽象
- 設計模式之簡單工廠模式設計模式
- java設計模式-簡單工廠模式Java設計模式
- 設計模式(一)—— 簡單工廠模式設計模式
- 簡單工廠模式(設計模式02)設計模式
- 設計模式----簡單工廠設計模式
- 設計模式之工廠模式!深入解析簡單工廠模式,工廠方法模式和抽象工廠模式設計模式抽象
- 設計模式入門-簡單工廠模式設計模式
- golang設計模式之簡單工廠模式Golang設計模式
- 大話設計模式:簡單工廠模式設計模式
- 【大話設計模式】——簡單工廠模式設計模式
- Java設計模式2:簡單工廠模式Java設計模式
- Java設計模式(一) 簡單工廠模式不簡單Java設計模式
- 設計模式(一):簡單工廠設計模式
- iOS設計模式 - 簡單工廠iOS設計模式
- 簡單工廠模式—>工廠模式模式
- 23種設計模式(一)---簡單工廠設計模式設計模式
- 設計模式 --並不簡單的工廠模式設計模式
- 設計模式系列之一:簡單工廠模式設計模式
- Yii2設計模式——簡單工廠模式設計模式
- Java常用設計模式之簡單工廠模式Java設計模式
- 工廠模式之簡單工廠模式模式
- c#簡單工廠設計模式C#設計模式
- 極簡設計模式-工廠模式設計模式
- 簡單工廠模式、工廠模式、抽象工廠模式比較模式抽象
- 設計模式 | 簡單工廠模式及典型應用設計模式
- 設計模式-簡單工廠模式概述和使用-介面設計模式
- android常用設計模式之簡單工廠模式Android設計模式
- JavaScript設計模式經典之簡單工廠模式JavaScript設計模式
- 設計模式筆記:簡單工廠模式(Simple Factory)設計模式筆記
- 設計模式-C#實現簡單工廠模式設計模式C#
- 簡單工廠模式和抽象工廠模式模式抽象
- 工廠模式(簡單工廠模式)快速理解模式