计划情势的解析和实现(C++)之十一-TemplateMethod情势[VC/C++编程]
本文“计划情势的解析和实现(C++)之十一-TemplateMethod情势[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作用:
定义一个操作中的算法的骨架,而将一些步骤耽误到子类中.TemplateMethod 使得子类可以不改变一个算法的构造便可重定义该算法的某些特定步骤.
UML构造图:
抽象基类:
1)AbstractClass:抽象基类,定义算法的表面
解析:
TemplateMethod 的关键在于在基类中定义了一个算法的表面,但是算法每一步具体的实现留给了派生类.但是这样也会造成计划的机动性不高的缺陷,因为表面已经定下来了要想改变就对比难了,这也是为什么优先采取聚合而不是担当的缘由.
实现:
1)TemplateMethod.h
/**//********************************************************************
created: 2006/07/20
filename: TemplateMethod.h
author: 李创
http://www.cppblog.com/converse/
purpose: TemplateMethod情势的演示代码
*********************************************************************/
// 抽象基类,定义算法的表面
class AbstractClass
{
public:
AbstractClass(){}
virtual ~AbstractClass(){}
// 这个函数中定义了算法的表面
void TemplateMethod();
protected:
// 纯虚函数,由派生类实现之
virtual void PrimitiveOperation1() = 0;
virtual void PrimitiveOperation2() = 0;
};
// 担当自AbstractClass,实现算法
class ConcreateClass
: public AbstractClass
{
public:
ConcreateClass(){}
virtual ~ConcreateClass(){}
protected:
virtual void PrimitiveOperation1();
virtual void PrimitiveOperation2();
};
以上是“计划情势的解析和实现(C++)之十一-TemplateMethod情势[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |