您的位置:首页 > 其它

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

2017-07-04 11:10 253 查看
接口可以理解为一个比较特殊的“类”,我们可以使用接口类型的变量调用接口中定义的方法,那么我们可以使用接口对上行请求和下行消息的方法进行封装,这样就只能调用接口中定义的方法。

我们可以使用回调接口对数据进行传输,把返回的数据返回到合适的位置进行处理。

上行请求

类图



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 处理回调的数据
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  接口