模板模式:属于行为型模式
基本原理:子类按照基类的定义的方法执行,子类实现具体的方法。
主要流程:
1.创建基类,并定义方法执行的顺序
2.创建子类,每个子类具体实现基类中的方法
#include <iostream>
#include <string>
using namespace std;
//定义基类
class Game
{
public:
//定义需要子类实现的方法
virtual void initDate() = 0;
virtual void startGame() = 0;
virtual void endGame() = 0;
//方法的执行
void play()
{
initDate();
startGame();
endGame();
}
};
//定义子类,并实现基类中定义的方法
class Cricket : public Game
{
public:
//实现基类中的方法
void initDate()
{
cout<<"Cricket--> init date"<<endl;
}
void startGame()
{
cout<<"Cricket--> start game"<<endl;
}
void endGame()
{
cout<<"Cricket--> end game"<<endl;
}
};
class Football : public Game
{
public:
void initDate()
{
cout<<"Football--> init date"<<endl;
}
void startGame()
{
cout<<"Football--> start game"<<endl;
}
void endGame()
{
cout<<"Football--> end game"<<endl;
}
};
int main()
{
//调用该子类的执行方法
Game *game = new Cricket();
game->play();
cout<<endl;
game = new Football();
game->play();
return 0;
}