打字猴:1.700460231e+09
1700460231
1700460232 首先说普通代理,它的要求就是客户端只能访问代理角色,而不能访问真实角色,这是比较简单的。我们以上面的例子作为扩展,我自己作为一个游戏玩家,我肯定自己不练级了,也就是场景类不能再直接new一个GamePlayer对象了,它必须由GampePlayerProxy来进行模拟场景,类图修改如图12-4所示。
1700460233
1700460234
1700460235
1700460236
1700460237 图12-4 普通代理类图
1700460238
1700460239 改动很小,仅仅修改了两个实现类的构造函数,GamePlayer的构造函数增加了_gamePlayer参数,而代理角色则只要传入代理者名字即可,而不需要说是替哪个对象做代理。GamePlayer类如代码清单12-10所示。
1700460240
1700460241 代码清单12-10 普通代理的游戏者
1700460242
1700460243 public class GamePlayer implements IGamePlayer{
1700460244
1700460245 private String name=””;
1700460246
1700460247 //构造函数限制谁能创建对象,并同时传递姓名
1700460248
1700460249 public GamePlayer(IGamePlayer_gamePlayer,String_name)throws Exception{
1700460250
1700460251 if(_gamePlayer==null){
1700460252
1700460253 throw new Exception(“不能创建真实角色!”);
1700460254
1700460255 }else{
1700460256
1700460257 this.name=_name;
1700460258
1700460259 }
1700460260
1700460261 }
1700460262
1700460263 //打怪,最期望的就是杀老怪
1700460264
1700460265 public void killBoss(){
1700460266
1700460267 System.out.println(this.name+“在打怪!”);
1700460268
1700460269 }
1700460270
1700460271 //进游戏之前你肯定要登录吧,这是一个必要条件
1700460272
1700460273 public void login(String user,String password){
1700460274
1700460275 System.out.println(“登录名为”+user+“的用户”+this.name+“登录成功!”);
1700460276
1700460277 }
1700460278
1700460279 //升级,升级有很多方法,花钱买是一种,做任务也是一种
1700460280
[ 上一页 ]  [ :1.700460231e+09 ]  [ 下一页 ]