-1

C#で簡単な質問があります

インターフェイスは継承されますか、それとも実装されますか?

ありがとう

4

5 に答える 5

1

クラスはインターフェースを実装します。抽象クラスは継承されています。クラスは1つのクラスから継承できますが、必要な数のインターフェイスを実装します。

ただし、インターフェイスは他のインターフェイスを「継承」することもできます。それらは実際には実装されていないため、インターフェイスコントラクトを継承するようなものですが、複数のインターフェイスを実装できるため、実際には継承でもありません。他のインターフェイスから継承するインターフェイスを実装するクラスは、元のインターフェイスに含まれているすべてのインターフェイスコントラクトを実装する必要があります。また、ベースインターフェイスも再帰的に実装する必要があります。

一般的な主題に関するより有用な情報については、抽象クラスについても読む必要があります。

于 2012-05-18T06:17:36.360 に答える
0

それは単なる用語です。1つのMSDNページ別のページによると、クラスまたは構造体はインターフェイスを実装します。ただし、新しいインターフェイスを宣言すると、そのインターフェイスは他のベースインターフェイスから継承する場合があります。

于 2012-05-18T06:17:58.850 に答える
0

クラスを使用してインターフェースを実装します。定義がないため、実装されています。クラスができたら。抽象クラスであろうと通常のクラスであろうと、事前に構築された機能を継承しているため、継承します。

2つの注意点がありますが。

  1. 抽象クラスは、メソッドに実装を追加する必要はありません(例外をスローすることは許容されます。または、それらを空のままにするか、実装が不完全であることを示すためにメソッドとプロパティを抽象としてマークします。空の実装は、戻り型が返される限り正当です。インターフェイスで使用されるメソッドを定義するだけです。

  2. 他のクラスから継承しますが、クラス名に「sealed」を追加すると、System.StringやSystem.Typeなどの他のクラスが継承できなくなります。

于 2012-05-18T06:18:29.220 に答える
0

これは、インターフェースを「使用する」ものがクラスであるか別のインターフェースであるかによって異なります。

クラスは、インターフェイス(およびそれが継承するすべてのインターフェイス)を実装します。

別のインターフェースがインターフェースを継承(または拡張)します

于 2012-05-18T06:19:21.500 に答える
0
  • クラスは、暗黙的および/または明示的に1つ以上のインターフェースを実装できます。
  • インターフェイスは他のインターフェイスを継承できます。
  • インターフェイスの暗黙的に実装されたメソッドは抽象的である可能性があります/仮想は派生クラスでオーバーライドできます。

要するに、インターフェースが実装され、インターフェースの実装を継承することができます

于 2012-05-18T06:25:33.193 に答える