C#で簡単な質問があります
インターフェイスは継承されますか、それとも実装されますか?
ありがとう
クラスはインターフェースを実装します。抽象クラスは継承されています。クラスは1つのクラスから継承できますが、必要な数のインターフェイスを実装します。
ただし、インターフェイスは他のインターフェイスを「継承」することもできます。それらは実際には実装されていないため、インターフェイスコントラクトを継承するようなものですが、複数のインターフェイスを実装できるため、実際には継承でもありません。他のインターフェイスから継承するインターフェイスを実装するクラスは、元のインターフェイスに含まれているすべてのインターフェイスコントラクトを実装する必要があります。また、ベースインターフェイスも再帰的に実装する必要があります。
一般的な主題に関するより有用な情報については、抽象クラスについても読む必要があります。
それは単なる用語です。1つのMSDNページと別のページによると、クラスまたは構造体はインターフェイスを実装します。ただし、新しいインターフェイスを宣言すると、そのインターフェイスは他のベースインターフェイスから継承する場合があります。
クラスを使用してインターフェースを実装します。定義がないため、実装されています。クラスができたら。抽象クラスであろうと通常のクラスであろうと、事前に構築された機能を継承しているため、継承します。
2つの注意点がありますが。
抽象クラスは、メソッドに実装を追加する必要はありません(例外をスローすることは許容されます。または、それらを空のままにするか、実装が不完全であることを示すためにメソッドとプロパティを抽象としてマークします。空の実装は、戻り型が返される限り正当です。インターフェイスで使用されるメソッドを定義するだけです。
他のクラスから継承しますが、クラス名に「sealed」を追加すると、System.StringやSystem.Typeなどの他のクラスが継承できなくなります。
これは、インターフェースを「使用する」ものがクラスであるか別のインターフェースであるかによって異なります。
クラスは、インターフェイス(およびそれが継承するすべてのインターフェイス)を実装します。
別のインターフェースがインターフェースを継承(または拡張)します
要するに、インターフェースが実装され、インターフェースの実装を継承することができます