C++设计模式之模板方法模式(TemplateMethod)分享!

模板方法模式使用继承来实现模式的功能,在基类使用一个方法来定义算法的各个步骤,这些步骤(方法)的具体实现会放到子类中,通过这样来实现不同算法对象的算法拼合,完成该对象整体算法的实现。

作用

模板方法中定义了具体操作中所使用算法的各个步骤,并将其实现交由子类完成,从而实现多种不同的功能;

类视图

C++设计模式之模板方法模式(TemplateMethod)

实现

  class Lunch  {  public:    Lunch(){}    virtual ~Lunch(){}      void feed()    {      cooking();      eating();      cleaning();    }    virtual void cooking()=0;    virtual void eating()    {      cout<<"I am eating,Please don't disturb men";    }    virtual void cleaning();  };      class MCMeal : public Lunch  {  public:    MCMeal(){}    virtual ~MCMeal(){}      void cooking()    {      cout<< "I am cooking Mc Mealn";    }    void cleaning()    {      cout<< "I am cleaning Mc plates";    }  };    class KFCMeal : public Lunch  {  public:    KFCMeal() {}    virtual ~KFCMeal(){}      void cooking()    {      cout<< "I am cooking KFC Mealn";    }    void eating    {      cout<< "KFC Meal is goodn";    }    void cleaning()    {      cout<< "I am cleaning KFC plates and cupsn";    }  };      int main()  {    Lunch* meal1 = new McMeal();    meal1.feed();    Lunch* meal2 = new KFCMeal();    meal2.feed();  }    

应用场景

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

—-想了解C++设计模式之模板方法模式(TemplateMethod)分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/482320.html

(0)
上一篇 2020年11月9日
下一篇 2020年11月9日

精彩推荐