全面剖析C#接口编程教程4——之实现接口(2)2009-04-1315:09重新实现接口我们已经介绍过,派生类可以对基类中已经定义的成员方法进行重载
类似的概念引入到类对接口的实现中来,叫做接口的重实现(re-implementation)
继承了接口实现的类可以对接口进行重实现
这个接口要求是在类定义的基类列表中出现过的
对接口的重实现也必须严格地遵守首次实现接口的规则,派生的接口映射不会对为接口的重实现所建立的接口映射产生任何影响
下面的代码给出了接口重实现的例子:interfaceIControl{voidPaint();classControl:IControlvoidIControl
Paint(){…}classMyControl:Control,IControlpublicvoidPaint(){}}实际上就是:Control把IControl
Paint映射到了Control
IControl
Paint上,但这并不影响在MyControl中的重实现
在MyControl中的重实现中,IControl
Paint被映射到MyControl
Paint之上
在接口的重实现时,继承而来的公有成员定义和继承而来的显式接口成员的定义参与到接口映射的过程
usingSystem;interfaceIMethods{voidF();voidG();voidH();voidI();}classBase:IMethods{voidIMethods
F(){}voidIMethods
G(){}publicvoidH(){}publicvoidI(){}}classDerived:Base,IMethods{publicvoidF(){}voidIMethods
H(){}}这里,接口IMethods在Derived中的实现把接口方法映射到了Derived
F,Base