class Duck{
public:
FlyBehavior* flyBehavior;
QuackBehavior* quackBehavior;
void performFly() {
flyBehavior->fly();
}
void performQuack() {
quackBehavior->quack();
}
};
class MallardDuck:public Duck{
MallardDuck(){
flyBehavior = new FlyWithWings();
quackBehavior = new Quack();
}
};
class RubberDuck:public RubberDuck() {
flyBehavior = new FlyNoWay();
quackBehavior = new Squick();
};
设计模式-Strategy代码+UML图
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.