全面剖析C接口编程教程3——之访问接口(2)
发布时间:2021-06-06
发布时间:2021-06-06
全面剖析C#接口编程教程3——之访问接口
调用Num.Add(1) 会导致二义性,因为候选的重载方法的参数类型均适用。但是,调用Num.Add(1.0) 是允许的,因为1.0是浮点数参数类型与方法IInteger.Add()的参数类型不一致,这时只有IDouble.Add 才是适用的。不过只要加入了显式的指派,就决不会产生二义性。
接口的多重继承的问题也会带来成员访问上的问题。例如:
上例中,方法IBase.FWay在派生的接口ILeft中被Ileft的成员方法FWay覆盖了。所以对d. FWay (1)的调用实际上调用了。虽然从IBase-> IRight-> IDerived这条继承路径上来看,ILeft.FWay方法是没有被覆盖的。我们只要记住这一点:一旦成员被覆盖以后,所有对其的访问都被覆盖以后的成员"拦截"了。
上一篇:中职学校教务处岗位职责
下一篇:有限空间作业指导方案