設計模式-Strategy代碼+UML圖

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();
};





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章