Interface for Child Class that Inherits from parent class without reimplementing parent class
目前我有以下几点:
1 2 | public class ChildClass : ParentClass {... |
ParentClass实现如下接口(我需要实例化ParentClass,因此不能是抽象的):
1 2 | public class ParentClass : IParentClass {... |
我还希望子类实现一个接口,这样我可以模拟出这个类,但我希望父类继承的成员对子类接口可见。
所以如果我在父类中有一个方法method a(),我希望在使用i childclass而不仅仅是childclass时能够调用这个方法。
我能想到的唯一方法是重写childClass中的方法,在ichildClass中定义该方法,并在刚刚调用的base.methoda()中定义该方法,但这似乎并不正确。
如果我正确理解你,你是说你想要在你的接口和类中有一个继承层次结构。
这就是你实现这一目标的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public interface IBase { // Defines members for the base implementations } public interface IDerived : IBase { // Implementors will be expected to fulfill the contract of // IBase *and* whatever we define here } public class Base : IBase { // Implements IBase members } public class Derived : Base, IDerived { // Only has to implement the methods of IDerived, // Base has already implement IBase } |
我想你可以做两件事。
1)可以继承多个接口。C支持这一点。只能从一个基类继承,但可以从多个接口继承。
2)您可以使接口相互继承。IchildClass接口可以从IParentClass接口继承。
这有帮助吗?