Java实现多继承
  TEZNKK3IfmPf 2023年11月12日 18 0

利用接口可以定义基本方法的方式来做,这样在修改接口的时候,会影响到对应实现层,从而达到多继承一处更改,其他地方也能被感知的目的。即

/**
* 通用消息体请求报文参数
*/
public interface CurrencyRequestParams {
// private String orderID;
// private String ispCode;
// private String orgCode;

public String getOrderID();

public void setOrderID(String orderID);

public String getIspCode();

public void setIspCode(String ispCode);

public String getOrgCode();

public void setOrgCode(String orgCode);
}

首先利用接口定义出get,set方法,这里有一个知识前提,就是框架在对参数进行反序列化时,其实都是看的get方法,而不是里面的具体的值,所以我们在接口中定义好方法,本质上就间接定义好了参数。而使用该接口,就间接继承了该参数。

public class SysVulnDictUploadRequest implements CurrencyRequestParams, DataBaseParams {
private StaReqParams staReqParams;
private String timestamp;
private String orderID;
private String ispCode;
private String orgCode;
private Integer dataType;
private Integer dataSubType;

public StaReqParams getStaReqParams() {
return staReqParams;
}

public void setStaReqParams(StaReqParams staReqParams) {
this.staReqParams = staReqParams;
}

public String getTimestamp() {
return timestamp;
}

public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}

@Override
public String getOrderID() {
return orderID;
}

@Override
public void setOrderID(String orderID) {
this.orderID = orderID;
}

@Override
public String getIspCode() {
return ispCode;
}

@Override
public void setIspCode(String ispCode) {
this.ispCode = ispCode;
}

@Override
public String getOrgCode() {
return orgCode;
}

@Override
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}

@Override
public Integer getDataType() {
return dataType;
}

@Override
public void setDataType(Integer dataType) {
this.dataType = dataType;
}

@Override
public Integer getDataSubType() {
return dataSubType;
}

@Override
public void setDataSubType(Integer dataSubType) {
this.dataSubType = dataSubType;
}
}

未来我们修改了接口中的方法,在编译的时候,这些实现类会报错,也会强制修改,从而达到了防止改掉的目的,也间接达到了多继承。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   19天前   43   0   0 java
  TEZNKK3IfmPf   2024年05月31日   54   0   0 java
TEZNKK3IfmPf