打字猴:1.700460386e+09
1700460386 “不行呀衰哥,我这几天很忙呀,你找我的经纪人吧……”
1700460387
1700460388 郁闷了吧,你是想直接绕过她的代理,谁知道返回的还是她的代理,这就是强制代理,你可以不用知道代理存在,但是你的所作所为还是需要代理为你提供。我们把上面的例子稍作修改就可以完成,如图12-5所示。
1700460389
1700460390
1700460391
1700460392
1700460393 图12-5 强制代理类图
1700460394
1700460395 在接口上增加了一个getProxy方法,真实角色GamePlayer可以指定一个自己的代理,除了代理外谁都不能访问。我们来看代码,先看IGamePlayer接口,如代码清单12-13所示。
1700460396
1700460397 代码清单12-13 强制代理的接口类
1700460398
1700460399 public interface IGamePlayer{
1700460400
1700460401 //登录游戏
1700460402
1700460403 public void login(String user,String password);
1700460404
1700460405 //杀怪,这是网络游戏的主要特色
1700460406
1700460407 public void killBoss();
1700460408
1700460409 //升级
1700460410
1700460411 public void upgrade();
1700460412
1700460413 //每个人都可以找一下自己的代理
1700460414
1700460415 public IGamePlayer getProxy();
1700460416
1700460417 }
1700460418
1700460419 仅仅增加了一个getProxy方法,指定要访问自己必须通过哪个代理,实现类也要做适当的修改,先看真实角色GamePlayer,如代码清单12-14所示。
1700460420
1700460421 代码清单12-14 强制代理的真实角色
1700460422
1700460423 public class GamePlayer implements IGamePlayer{
1700460424
1700460425 private String name=””;
1700460426
1700460427 //我的代理是谁
1700460428
1700460429 private IGamePlayer proxy=null;
1700460430
1700460431 public GamePlayer(String_name){
1700460432
1700460433 this.name=_name;
1700460434
1700460435 }
[ 上一页 ]  [ :1.700460386e+09 ]  [ 下一页 ]