Type: Behavioral
Template Method:在一個操作中定義一個算法的骨架,将一些步驟推遲到子類中。讓子類在不修改算法結構的基礎上重新定義其中步驟。
#include <iostream>
using namespace std;
class AbstractClass
{
public:
void templateMethod()
{
cout<<"AbstractClass: Call subMethod"<<endl;
subMethod();
};
protected:
virtual void subMethod();
};
class ConcreteClass: public AbstractClass
{
public:
void subMethod()
{
cout<<"ConcreteClass: subMethod"<<endl;
};
};
int main()
{
ConcreteClass* pConcreteClass = new ConcreteClass;
pConcreteClass->templateMethod();
system("pause");
return 0;
}