NOTES / COMPUTER
行为型设计模式
对象交互与行为组织的学习笔记。
策略模式
// 策略接口
class Brake{
public:
virtual void execute() =0;
};
// 策略1的实现
class ABSBrake: public Brake{
void execute(){
std::cout << "ABS Brake sys." << std::endl;
}
};
// 策略2的实现
class AEBBrake: public Brake{
void execute(){
std::cout << "AEB Brake sys." << std::endl;
}
};
//
class Car{
public:
Car(Brake* brake): brakeSystem(brake){};
virtual void brake() =0;
protected:
Brake* brakeSystem;
};
class SUV: public Car{
public:
SUV(Brake* brake): Car(brake){};
void brake(){
std::cout << "SUV: ";
brakeSystem->execute();
}
};
class ECar: public Car{
public:
ECar(Brake* brake): Car(brake){};
void brake(){
std::cout << "ECar: ";
brakeSystem->execute();
}
};
模板模式
ZYK · 笔记与实践返回首页