14.模板模式
1模板模式的核心內容是:
A:定義好抽象的接口類。
B:對于不同的情況不同實現。但是實現是要求和模板的定義的相同。
2模板模式的作用:說白了就是定義類模板,然后實現。
3模板模式具體描述
模板方法模式:模板方法模式準備一個抽象類,
將部分邏輯以具體方法以及具體構造子的形式實現,
然后聲明一些抽象方法來迫使子類實現剩余的邏輯。
不同的子類可以以不同的方式實現這些抽象方法,
從而對剩余的邏輯有不同的實現。先制定一個頂級邏輯框架,
而將邏輯的細節留給具體的子類去實現。?
?
但每個步驟針對不同的情況,女生從認識到得手的不變的步驟分為巧遇、打破僵局、展開追求、接吻、得手
都有不一樣的做法,這就要看你隨機應變啦(具體實現)
4模板模式類圖
5.代碼:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
/*模板方法模式:模板方法模式準備一個抽象類,
將部分邏輯以具體方法以及具體構造子的形式實現,
然后聲明一些抽象方法來迫使子類實現剩余的邏輯。
不同的子類可以以不同的方式實現這些抽象方法,
從而對剩余的邏輯有不同的實現。先制定一個頂級邏輯框架,
而將邏輯的細節留給具體的子類去實現。?
?
但每個步驟針對不同的情況,女生從認識到得手的不變的步驟分為巧遇、打破僵局、展開追求、接吻、得手
都有不一樣的做法,這就要看你隨機應變啦(具體實現)*/
class AbstractClass
{
public:
??? void Show()
??? {
??????? cout << "我是" << GetName() << endl;
??? }
protected:
??? virtual string GetName() = 0;
};
?
class Naruto : public AbstractClass
{
protected:
??? virtual string GetName()
??? {
??????? return "火影史上最帥的六代目---一鳴驚人naruto";
??? }
};
?
class OnePice : public AbstractClass
{
protected:
??? virtual string GetName()
??? {
??????? return "我是無惡不做的大海賊---路飛";
??? }
};
?
//客戶端
int mainP13()
{
??? Naruto* man = new Naruto();
??? man->Show();
?
??? OnePice* man2 = new OnePice();
??? man2->Show();
?
??? cin.get();
??? return 0;
}
運行結果如下:
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
- 上一篇: 骑马与砍杀2军队马匹数量
- 下一篇: 13.命令模式