[设计模式]模板方法模式
生活随笔
收集整理的這篇文章主要介紹了
[设计模式]模板方法模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模板方法模式:
定義一個操作中算法的框架,而將一些步驟延遲到子類中。模仿方法模式使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
代碼如下:
#include <iostream> using namespace std;class DrinkTemplate { public:virtual void BoildWater() = 0;virtual void Brew() = 0;virtual void PourInCup() = 0;virtual void AddSomething() = 0;//模板方法void Make(){BoildWater() ;Brew() ;PourInCup() ;AddSomething();} };class Coffee :public DrinkTemplate { public:virtual void BoildWater(){cout << "煮山泉水" << endl;}virtual void Brew(){cout << "沖泡咖啡" << endl;}virtual void PourInCup(){cout << "咖啡倒入杯中" << endl;}virtual void AddSomething(){cout << "加點糖,牛奶" << endl;} };class Tea :public DrinkTemplate { public:virtual void BoildWater(){cout << "煮礦泉水" << endl;}virtual void Brew(){cout << "沖泡鐵觀音" << endl;}virtual void PourInCup(){cout << "茶水倒入杯中" << endl;}virtual void AddSomething(){cout << "加點糖,檸檬" << endl;} };void test01() {Tea *tea = new Tea;tea->Make();cout << "-----------------------------" << endl;Coffee *coffee = new Coffee;coffee->Make(); }int main() {test01();return 0; }測試結果:
總結
以上是生活随笔為你收集整理的[设计模式]模板方法模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2023 年中国科学院、中国工程院院士增
- 下一篇: [PAT乙级]1029 旧键盘