模板方法模式
不管是你的电脑还是我的电脑,用电脑的程式是一样的,即开机、进入操作系统、用电脑工作(比如画图、打游戏、打字,每个人可以做不同的工作),然后关机。所以可以用模板方法实现。
特点:把不变的代码部分都转移到父类中,将可变的代码用virtual留到子类重写。
实现代码:
#include<iostream>
#include <vector>
#include <string>
using namespace std;
class AbstractClass
{
public:
void Show()
{
cout<<"过程:/t"<<PassPro()<<endl;
}
protected:
virtual string PassPro()=0;
};
class Naruto : public AbstractClass
{
protected:
virtual string PassPro()
{
return "计算机one:开机、进入操作系统、用电脑工作 ,然后关机。";
}
};
class OnePice : public AbstractClass
{
protected:
virtual string PassPro()
{
return "计算机two:开机、进入操作系统、用电脑工作 ,然后关机。";
}
};
//客户端
int main()
{
Naruto* man = new Naruto();
man->Show();
OnePice* man2 = new OnePice();
man2->Show();
return 0;
}