假设我有三个接口:
public interface I1
{
void XYZ();
}
public interface I2
{
void XYZ();
}
public interface I3
{
void XYZ();
}
继承这三个接口的类:
class ABC: I1,I2, I3
{
// method definitions
}
问题:
它编译得很好,运行得也很好!
这是否意味着这个单一方法实现足以继承所有三个接口?
我知道它可以使用显式实现来完成,但我无法调用它们。 :(
如果使用显式实现,则必须将对象强制转换为要调用其方法的接口:
class ABC: I1,I2, I3
{
void I1.XYZ() { /* .... */ }
void I2.XYZ() { /* .... */ }
void I3.XYZ() { /* .... */ }
}
ABC abc = new ABC();
((I1) abc).XYZ(); // calls the I1 version
((I2) abc).XYZ(); // calls the I2 version
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)