C#继承:implements + extends

时间:2013-01-03 12:37:00

标签: c# oop inheritance

是否可以在C#中执行类似的操作:

public class MyClass implements ClassA extends ClassB 
{

}

我需要这个因为:我有两个类,其中一个是Interface我将在我的课程中实现,但我也想使用另一个类的方法,这会做一些我想做的事情喜欢在我的课堂上使用。

4 个答案:

答案 0 :(得分:21)

C#不支持multiple inheritance。您可以从一个类派生并使用接口来满足您的其他需求。

语法:

class MyClass : Foo, IFoo, IBar
{
}

interface IFoo
{
}

interface IBar
{
}

class Foo
{
}

答案 1 :(得分:6)

试试这个:

using System;

public interface A
{
    void DoSmth();
}

public class B
{
    public void OpA() { }
    public void OpB() { }
}

public class ClassC : B, A
{
    public void DoSmth(){}
}

请记住,您不能从特定类级别的两个类继承,它可能只有一个类和任意数量的接口。

答案 2 :(得分:3)

    class Base
    {
    }

    interface I1
    {
    }

    interface I2
    {
    }

    class Derived : Base, I1, I2
    {
    }

    static void Main(String[] args)
    {

        Derived d = new Derived();
    }

答案 3 :(得分:0)

它应该是这样的:

public class MyClass: ClassB, InterfaceA{
}

ClassB是基类

InterfaceA是接口

您只能扩展一个基类,但可以实现许多接口。