美文网首页
设计模式-行为模式-模板方法模式

设计模式-行为模式-模板方法模式

作者: 阿棍儿_Leon | 来源:发表于2020-04-29 17:50 被阅读0次

    模板方法模式是在基类中定义操作的步骤分解(算法骨架),在子类中实现具体的单个步骤的模式。

    以下代码定义了基类,基类规定了操作的步骤分解。

    #include <iostream>
    
    using namespace std;
    
    class Abstraction
    {
    public:
        virtual ~Abstraction(){}
        void Operation()
        {
            OperationStep0();
            OperationStep1();
        }
        virtual void OperationStep0()=0;
        virtual void OperationStep1()=0;
    };
    

    以下代码定义了子类,子类要分别实现每个具体步骤。

    class ConcreteAbstraction:public Abstraction
    {
    public:
        void OperationStep0()
        {
            cout<<__PRETTY_FUNCTION__<<endl;
        }
        void OperationStep1()
        {
            cout<<__PRETTY_FUNCTION__<<endl;
        }
    };
    

    以下代码是演示,使用子类对象进行操作,操作就由子类实现的步骤完成。

    int main(void){
        Abstraction* obj = new ConcreteAbstraction();
        obj->Operation();
        delete obj;
        return 0;
    }
    

    输出

    virtual void ConcreteAbstraction::OperationStep0()
    virtual void ConcreteAbstraction::OperationStep1()
    

    相关文章

      网友评论

          本文标题:设计模式-行为模式-模板方法模式

          本文链接:https://www.haomeiwen.com/subject/wqunwhtx.html