设计模式笔记:模板模式

模板模式:基类抽象,子类实现。

定义:在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中,使得子类可以在不改变一个算法的结构前提下即可重定义该算法的某些特定步骤

基类定义命令执行Execute方法

1
2
3
4
class Command {
public:
virtual void Execute() = 0;
}

子类实现Execute方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// robotic arm
class RoboticArmCommand {
public:
void Execute() override
{
std::cout << "RoboticArm Command Execute." << std::endl;
}
}

// move
class MoveCommand {
public:
void Execute() override
{
std::cout << "Move Command Execute." << std::endl;
}
}

C++ 中实现多态 :当一个类有虚函数,那么编译时给类对象中包含一个虚函数指针,该虚函数指针执行该类类型对于的虚表。以及动态绑定,在运行时通过虚函数指针访问虚表,从而访问实际的函数。