打字猴:1.700477159e+09
1700477159 if(rand.nextBoolean()){
1700477160
1700477161 System.out.println(“代理人同意安排运动员跑步”);
1700477162
1700477163 runner.run();
1700477164
1700477165 }else{
1700477166
1700477167 System.out.println(“代理人心情不好,不安排运动品跑步”);
1700477168
1700477169 }
1700477170
1700477171 }
1700477172
1700477173 }
1700477174
1700477175 我们只是定义了一个代理人,并没有明确定义是哪一个运动员的代理,需要在运行时指定被代理者,而且我们还在代理人的run方法中做了判断,想让被代理人跑步就跑步,不乐意就拒绝,对于主题类的行为是否可以发生,代理类有绝对的控制权。我们编写一个场景类来模拟这种情况,如代码清单31-4所示。
1700477176
1700477177 代码清单31-4 场景类
1700477178
1700477179 public class Client{
1700477180
1700477181 public static void main(String[]args){
1700477182
1700477183 //定义一个短跑运动员
1700477184
1700477185 IRunner liu=new Runner();
1700477186
1700477187 //定义liu的代理人
1700477188
1700477189 IRunner agent=new RunnerAgent(liu);
1700477190
1700477191 //要求运动员跑步
1700477192
1700477193 System.out.println(”====客人找到运动员的代理要求其去跑步===”);
1700477194
1700477195 agent.run();
1700477196
1700477197 }
1700477198
1700477199 }
1700477200
1700477201 由于我们使用了随机数产生模拟结果,因此运行结果有两种可能情况,第一种情况如下所示:
1700477202
1700477203 ====客人找到运动员的代理要求其去跑步===
1700477204
1700477205 代理人同意安排运动员跑步
1700477206
1700477207 运动员跑步:动作很潇洒
1700477208
[ 上一页 ]  [ :1.700477159e+09 ]  [ 下一页 ]