模板模式(CC++实现)

模板模式(CC++实现),第1张

模板模式 概念

模板方法模式( Template Method ),是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。

Template Method一般应用在具有以下条件的应用中:

  • 具有统一的 *** 作步骤或 *** 作过程
  • 具有不同的 *** 作细节
  • 存在多个具有同样 *** 作步骤的应用场景,但某些具体的 *** 作细节却各不相同
    总结:在抽象类中统一 *** 作步骤,并规定好接口;让子类实现接口。这样可以把各个具体的子类和 *** 作步骤解耦合
结构图

具体实现
#include 

using namespace std;

class AbstractClass{
public:
	virtual void start()=0;
	virtual void doing()=0;
	virtual void end()=0;
	void conduct(){
		start();
		doing();
		end();
	}
};

class ConcreteClass_1 : public AbstractClass{
	void start(){
		cout<<"ConcreteClass_1 start"<<endl;
	}
	void doing(){
		cout<<"ConcreteClass_1 doing"<<endl;
	}
	void end(){
		cout<<"ConcreteClass_1 end"<<endl;
	}
};

class ConcreteClass_2 : public AbstractClass{
	void start(){
		cout<<"ConcreteClass_2 start"<<endl;
	}
	void doing(){
		cout<<"ConcreteClass_2 doing"<<endl;
	}
	void end(){
		cout<<"ConcreteClass_2 end"<<endl;
	}
};

int main(){
	AbstractClass * absc=new ConcreteClass_1();
	absc->conduct();
	delete absc;
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1498441.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-25
下一篇2022-06-25

发表评论

登录后才能评论

评论列表(0条)

    保存