検索

ホームページ  >  に質問  >  本文

c# - 「クラスは複数のインターフェイスを直接継承できますが、直接継承できるのは 1 つのクラス (抽象クラスを含む) だけです。」 C++ の多重継承と矛盾していませんか?

「クラスは複数のインターフェイスを直接継承できますが、直接継承できるのは 1 つのクラス (抽象クラスを含む) だけです。」 C の多重継承と矛盾していませんか?

ringa_leeringa_lee2739日前2264

全員に返信(2)返信します

  • 某草草

    某草草2017-05-31 10:38:49

    クラスはクラス(抽象クラ​​スを含む)からインテリジェントに継承する必要がありますが、複数のインターフェイスを実装できます
    継承は直接継承であり、インターフェイスは特定の仕様に従います
    これはより良い理解だと思います

    c++は元々Simularシステムなので説明しません
    多重継承はあまり意味がありません

    返事
    0
  • 黄舟

    黄舟2017-05-31 10:38:49

    C++ の多重継承はまさに多重継承であり、より強力ですが、使いやすさはあまり高くありません。したがって、Java などの言語では、複数の基本クラスの継承が許可されておらず、1 つの基本クラスのみを継承し、複数のインターフェイスを実装できます。これら 2 つの方法のどちらが優れているとは言えませんが、それぞれに独自の利点があります。 「CLR via C#」では、多重継承を避けるためにC#では単一クラスしか継承できず、その結果多くの落とし穴があったと記憶しています。とにかく、あなたが言語の専門家でない場合は、通常、この妥協案の解決策があり、それを使用できます

    返事
    0
  • キャンセル返事