使用接口进行封装以及数据传输

接口可以理解为一个比较特殊的“类”,我们可以使用接口类型的变量调用接口中定义的方法,那么我们可以使用接口对上行请求和下行消息的方法进行封装,这样就只能调用接口中定义的方法。
我们可以使用回调接口对数据进行传输,把返回的数据返回到合适的位置进行处理。

上行请求

类图

这里写图片描述
RequestManager类中实现IInvoke接口,接收上行的请求。同时此类也接收发送请求成功后返回的数据(方法onCallback()),我们通过ICallback回调接口把返回的数据发送到实现ICallback的地方。

代码

// 上行请求接口
public interface IInvoke {
    void requestMethod();
}
// 上行请求接口实现类
public class RequestManager implements IInvoke {

    // 声明一个下行回调的变量
    private ICallback callback = null;

    // 在构造方法中给下行回调变量赋值
    public RequestManager(ICallback back) {
        callback = back;
    }

    @Override
    public void requestMethod() {
        // TODO 处理上行请求
    }

    // 接收请求发送成功后返回的数据
    private void onCallback() {
        // 把接收到的数据通过回调接口发送出去
        if (callback != null) {
            callback.callbackMethod();
        }
    }
}

下行回调

类图

这里写图片描述
CallbackManager类实现了ICallback接口,在此类中通过request()方法来调用上行请求接口,也通过实现callbackMethod()回调方法来处理请求成功后返回的数据。

代码

// 下行回调接口
public interface ICallback {
    void callbackMethod();
}
// 下行回调接口实现类
public class CallbackManager implements ICallback {

    // 声明一个上行请求的变量
    private IInvoke invoke = null;

    public CallbackManager() {
        // 实例化了IInvoke的变量,同时也实例化了ICallback的变量。
        invoke = new RequestManager(this);
    }

    // 调用上行请求的方法
    public void request() {
        if (invoke != null) {
            invoke.requestMethod();
        }
    }

    // 回调方法
    @Override
    public void callbackMethod() {
        // TODO 处理回调的数据
    }
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值