私のプロジェクトでは、すべての仮想メソッドを持っているので、抽象クラスまたはインターフェースで宣言できます。しかし、抽象でできるのと同じようにユーザーインターフェースを作成するのはなぜですか?
4 に答える
インターフェイスはクラスのように見えますが、実装はありません。
-含まれているのは、イベント、インデクサー、メソッド、および/またはプロパティの宣言だけです。
-インターフェイスが宣言のみを提供する理由は、宣言された各インターフェイスメンバーの実装を提供する必要があるクラスと構造体によって継承されるためです。
C# のインターフェイスは、多重継承の代わりとして提供されています。
- C# は多重継承をサポートしていないため、C++ に見られる名前のあいまいさの問題を回避して、クラスが複数のクラスの動作を継承できるように、別のメソッドを組み込む必要がありました。
-名前があいまいであるため、クラス オブジェクトの 2 つの基本クラスに同じ名前のメソッドが含まれている場合、クラスのオブジェクトはどのメソッドを呼び出すべきかわかりません。
インターフェイスの目的
-疎結合ソフトウェアの作成
- 契約によるサポート設計 (実装者はインターフェース全体を提供する必要があります)
-プラグイン可能なソフトウェアを許可する
-さまざまなオブジェクトが簡単に相互作用できるようにする
-クラスの実装の詳細を互いに隠します
-ソフトウェアの再利用を容易にする
抽象クラスを使用すると、一部の実装を基礎として使用できます。インターフェイスでは、多重継承も可能です。
被駆動クラスはマルチ インターフェイスを実装できますが、各被駆動クラスのみが 1 つのクラスから継承できます