VB .Netで多重継承は可能ですか?もしそうなら、構文は何ですか?
4 に答える
簡単な答え:いいえ
少し長い答え:はい、複数のインターフェースと単一の基本クラスを継承する場合。これが通常MIの理由であるため(複数のインターフェースを実装したい)、通常はそれで十分です。ただし、「実際の」MIが役立つまれな例では、.NETを使用するとそれを実行できなくなります。
VB.Netでは、C#の場合と同じように、インターフェイスを介して制限付きで実行できます。インターフェイスは本質的に純粋な抽象基本クラスとして機能するため、必要な数の基本クラスと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 {}