16

VB .Netで多重継承は可能ですか?もしそうなら、構文は何ですか?

4

4 に答える 4

19

簡単な答え:いいえ

少し長い答え:はい、複数のインターフェースと単一の基本クラスを継承する場合。これが通常MIの理由であるため(複数のインターフェースを実装したい)、通常はそれで十分です。ただし、「実際の」MIが役立つまれな例では、.NETを使用するとそれを実行できなくなります。

于 2008-12-08T22:54:20.290 に答える
4

VB.Netでは、C#の場合と同じように、インターフェイスを介して制限付きで実行できます。インターフェイスは本質的に純粋な抽象基本クラスとして機能するため、必要な数の基本クラスと1つの実際のクラスから継承できます。

于 2008-12-08T22:55:01.660 に答える
1

私の知る限り、VB.netは一般に多重継承をサポートしていませんが、インターフェイスを操作することで一種の多重継承に到達できます(「継承」の代わりに「実装」を使用)。

Public Class ClassName
    Implements BaseInterface1, BaseInterface2

End Class

これはクラスでは問題なく機能しますが、いくつかの基本インターフェイスを継承するインターフェイスが必要です。そんな感じ:

Public Interface InterfaceName
    Implements BaseInterface1, BaseInterface2

End Interface

ただし、「Implements」キーワードはインターフェイスには使用できません(もちろん、意味があります)。私はJavaから知っている一種の抽象クラスを使おうとしました:

Public MustInherit Class InterfaceName
    Implements BaseInterface1, BaseInterface2

End Class

しかし、ここで、InterfaceNameクラス内のBaseInterface1およびBaseInterface2から定義されたメソッドを実装する必要があります。ただし、InterfaceNameもインターフェイスである必要があるため、そのクラス内にこれらのメソッドを実装する必要はありません。

C#では、これを非常に簡単に行うことができます。

public interface InterfaceName: BaseInterface1, BaseInterface2 {}
于 2013-01-07T04:39:57.977 に答える