模板模式简单实现

模板模式模板模式:在一个函数中调用一组抽象函数,这组抽象函数在子类中实现。
价值就是:通过子类的实现使一个函数(TemplateMethod)的机能丰富。
个人观点:这个模式其实就是一种最常用的面向对象手段,无论你是否学过设计模式,相信您一定用过,
并且您如果看到过其他的模式,一定在其他的模式中发现过,比如创建者模式中创建者(Builder)用到的一系列创建方法,就是一个模板模式的原型。
如下代码(c++):
#include
using namespace std;
#include

// 抽象层
class AbstractClass
{
public:
void TemplateMethod(){
PrimitiveOperation1();
PrimitiveOperation2();
}
virtual void PrimitiveOperation1()=0;
virtual void PrimitiveOperation2()=0;
};
// 具体层
class ConcreteClassA: public AbstractClass
{
public:
void PrimitiveOperation1()
{
cout<<“ConcreteClassA:PrimitiveOperation1”<<"\n";
}
void PrimitiveOperation2()
{
cout<<“ConcreteClassA:PrimitiveOperation2”<<"\n";
}
};
class ConcreteClassB: public AbstractClass
{
public:
void PrimitiveOperation1()
{
cout<<“ConcreteClassB:PrimitiveOperation1”<<"\n";
}
void PrimitiveOperation2()
{
cout<<“ConcreteClassB:PrimitiveOperation2”<<"\n";
}
};

//客户端调用
int main()
{
cout<<“模板模式演示\n”;

AbstractClass* a = new ConcreteClassA();
a->TemplateMethod();

AbstractClass* b = new ConcreteClassB();
b->TemplateMethod();

//看代码不用考虑以下内容
int cin_a;
cin>>cin_a;
return 0;

}

猜你喜欢

转载自blog.csdn.net/xie__jin__cheng/article/details/87854379