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
1700460281
public void upgrade(){
1700460282
1700460283
System.out.println(this.name+“又升了一级!”);
1700460284
1700460285
}
[
上一页 ]
[ :1.700460236e+09 ]
[
下一页 ]