软件设计-策略模式
旅行方式的选择
旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。
类图
Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)
包rjsj.no23
公共课骑自行车策略实施TravelStrategy{
@覆盖
公共空间旅行()
System.out.println('骑自行车旅游');
}
}
包rjsj.no23
公共类客户端{
公共静态void main(String[]参数){ 0
旅行者=新旅行者();
System.out.println('旅游开始!');
出行策略出行策略=新列车策略();
旅行者。settravelstrategy(travelStrategy);
旅行者。旅行();
系统。出去。println(* * * * * * * * * * * * * * * * * * * * * * * * *);
System.out.println('旅游开始!');
出行策略=新的AirPlanet策略();
旅行者。settravelstrategy(travelStrategy);
旅行者。旅行();
系统。出去。println(* * * * * * * * * * * * * * * * * * * * * * * * *);
System.out.println('旅游开始!');
出行策略=new dicyclestreatgy();
旅行者。settravelstrategy(travelStrategy);
旅行者。旅行();
系统。出去。println(* * * * * * * * * * * * * * * * * * * * * * * * *);
}
}
包rjsj.no23
公开课培训战略实施TravelStrategy{
@覆盖
公共空间旅行()
System.out.println('坐火车旅游');
}
}
包rjsj.no23
公共级旅行者{
私人旅行战略旅行战略;
公共空间设置旅行策略(TravelStrategy TravelStrategy){ 0
这个。出行策略=出行策略;
}
公共空间旅行()
旅行策略。旅行();
}
}
包rjsj.no23
公共界面TravelStrategy {
虚空旅行();
}
包rjsj.no23
公共类飞机战略实施TravelStrategy{
@覆盖
公共空间旅行()
System.out.println('乘坐飞机旅游');
}
}
C
#包括牡蛎
使用命名空间标准;
class TravelStrategy {
公众号:
虚空行程()=0;
};
人员类别{
私人:
TravelStrategy *战略;
公众号:
void setStrategy(旅行策略*策略){ 0
这个策略=策略;
}
无效行程(){ 0
这战略-旅行();
}
};
班级培训战略:公共旅行战略{
公众号:
无效行程(){ 0
cout '坐火车恩德尔
}
};
class DicycleStrategy :公共出行策略{
公众号:
无效行程(){ 0
cout '骑自行车恩德尔
}
};
飞机战略:级公共旅行策略{
公众号:
无效行程(){ 0
cout '坐飞机恩德尔
}
};
int main(){ 0
Person * pr=new Person();
cout '旅游开始,请选择交通工具:' endl
出行策略*策略=新列车策略();
pr-setStrategy(战略);
公关旅行();
cout ' * * * * * * * * * * * * * * * endl
cout '旅游开始,请选择交通工具:' endl
出行策略*策略2=new dicyclestreatgy();
pr-setStrategy(策略2);
公关旅行();
cout ' * * * * * * * * * * * * * * * endl
cout '旅游开始,请选择交通工具:' endl
出行策略*策略3=新AirPlanet策略();
pr-setStrategy(策略3);
公关旅行();
}
运行结果:
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/145043.html