C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のインターフェイスと抽象クラスの違いは何ですか?


インターフェイスは、インターフェイスのメンバーであるプロパティ、メソッド、およびイベントを定義します。インターフェイスには、メンバーの宣言のみが含まれます。メンバーを定義するのは、派生クラスの責任です。

抽象クラスはある程度同じ目的を果たしますが、基本クラスによって宣言されるメソッドが少なく、派生クラスが機能を実装する場合に主に使用されます。

違いは次のとおりです-

  • クラスは複数のインターフェースを継承できますが、クラスは1つの抽象クラスのみを継承できます。

  • 多重継承はAbstractを使用して達成することはできませんが、Interfaceを使用すると達成できます。

  • 抽象クラスの場合に定義されるのに対し、インターフェースでフィールドを定義することはできません。

  • インターフェイスには、デフォルトですべてがパブリックであるため、public、private、protected、internalなどのアクセス修飾子はありません。


  1. Javaのクラスとインターフェイスの違い

    この投稿では、Javaのクラスとインターフェイスの違いを理解します。 クラス オブジェクトが持つ必要のある属性と動作について説明します。 通常のメソッドだけでなく、抽象メソッドも含めることができます。 それを作成するためのキーワードは「クラス」です。 インスタンス化できます。 多重継承はサポートされていません。 クラスを継承できます。 クラスの親の名前(存在する場合)の前には、キーワード「extends」が付いています。 クラスのメンバーは、パブリック、プライベート、または保護されている可能性があります。 クラス本体は「{」と「}」で囲まれ

  2. 抽象クラスとインターフェースの違い

    抽象クラスは、デフォルトの動作を実装するインスタンスメソッドを持つことができます。インターフェイスは定数とインスタンスメソッドのみを宣言できますが、デフォルトの動作を実装することはできず、すべてのメソッドは暗黙的に抽象化されています。インターフェースにはすべてのパブリックメンバーがあり、実装はありません。