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圖
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.