因为ResultModel
间接继承/实现了接口IresultA
。
相当于ResultModel
同时继承/实现了接口IresultA
和IresultB
。
类似于生物(IresultA) <- 动物(IresultB) <- 狗(ResultModel)
的概念,即可以认为狗是生物,或者是动物。
但是使用的时候,如果类型为IResultA
,则你只能调用它的code
属性和方法,如果类型为IResultB
,则只能调用它的msg
属性和方法。 这取决于调用者关心哪些属性,如果要处理这两个属性,则应该转为ResultModel
类型的变量,而实际上的对象都是同一个。
了解了,感谢!