关于c#:Child类的接口,它继承自父类而不重新实现父类

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接口继承。

这有帮助吗?