24

でそのようなことをすることは可能ですかC#:

public class MyClass implements ClassA extends ClassB 
{

}

これが必要な理由: 2 つのクラスがあり、そのうちの 1 つInterfaceは自分のクラスに実装する予定ですが、別のクラスのメソッドも使用したいので、自分のクラスで使用したいことを行います。

4

4 に答える 4

41

C# は多重継承をサポートしていません。1 つのクラスから派生させ、他のニーズに合わせてインターフェイスを使用できます。

構文:

class MyClass : Foo, IFoo, IBar
{
}

interface IFoo
{
}

interface IBar
{
}

class Foo
{
}
于 2013-01-03T12:38:32.307 に答える
8

これを試してください:

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つのクラスから継承することはできません。これは、1つのクラスと任意の数のインターフェイスである可能性があります。

于 2013-01-03T12:41:59.693 に答える
3
    class Base
    {
    }

    interface I1
    {
    }

    interface I2
    {
    }

    class Derived : Base, I1, I2
    {
    }

    static void Main(String[] args)
    {

        Derived d = new Derived();
    }
于 2013-01-03T12:41:12.783 に答える
2

次のようになります。

public class MyClass: ClassB, InterfaceA{
}

ClassB は基本クラスです。

InterfaceA はインターフェイスです。

拡張できる基本クラスは 1 つだけですが、多くのインターフェイスを実装できます。

于 2015-05-17T12:26:40.647 に答える