当需要增加额外功能时,可以通过新增代理类接口
例如 我们增加一个代练计费接口
具体代码
//代理类的接口
public interface IProxy {
//计算费用
public void count();
}
//代理类
public class GamePlayProxy implements IGamePlayer,IProxy{
private IGamePlayer player = null;
public GamePlayProxy(IGamePlayer _player){
this.player = _player;
}
//代练登录
@Override
public void login(String name, String password) {
this.player.login(name,password);
}
//代练杀怪
@Override
public void killBoss() {
this.player.killBoss();
}
//代练
@Override
public void upgrade() {
this.player.upgrade();
this.count();
}
@Override
public void count() {
System.out.println("升级一次,计费一次!");
}
}