C#抽象クラスインターフェースの導入

1、基本概念

抽象クラス:

 1.抽象メソッド本体のみ達成しない声明を出す、と実装が含まれていない、仮想メソッドとして見ることができる
 2.抽象クラスは、抽象的、しかし、抽象プロパティとメソッドにはできませんが、あなたは抽象メソッドを持っていたら、あなたが作る必要があります抽象クラス宣言は、
 抽象基底クラスオーバーライドする必要があり3.詳細な派生クラス
 抽象基底クラスをオーバーライドすることができる。4.抽象派生クラスを、被覆されなくてもよいです。あなたがカバーしていない場合は、その具体的な派生クラスはそれらをオーバーライドする必要があります。
 抽象クラスはインスタンス化できません

インタフェース:

 1.インタフェースはインスタンス化できない
 含むことができる。2.インタフェースメソッド宣言
 部材3インターフェースはメソッド、プロパティ、インデクサ、イベント含む
 静的4.インタフェースない定数フィールド(ドメイン)を含む、コンストラクタ、デストラクタ、メンバー。
 5.公共のデフォルトのインターフェイスのすべてのメンバーは、従ってインタフェースは専用修飾子持つことができない
 、派生クラスのすべてのメンバーは、インターフェイスを実装しなければならない6.
 クラスは、コンマとの間の界面に直接複数のインターフェースを実装することができる7.
 8。インターフェイスは、複数の親のインタフェースを持つことができ、インタフェースの実装クラスは、すべての親インターフェイスのすべてのメンバーを実装する必要があります。

同じポイント:

 図1に示すように、継承することができ
 、インスタンス化されず、2
 メソッド宣言を含むことができ、3
 4は、派生クラスが実装しなければならない方法が実装されていません

違い:

 1、抽象基底クラス、フィールド、プロパティ、メソッドを定義します。インタフェースは専用のプロパティ、インデクサ、イベント、およびメソッド宣言は、フィールドを含めることはできません定義することができます。
 図2は、複数のインタフェースを実現することができる、単一の抽象クラスを継承することができ

 図3に示すように、抽象クラスは、良好(継承、およびインプリメンテーション)の必要不完全クラスです。インタフェース仕様は、直接継承することができる動作を基準と

 4、インターフェースは、継承された基本的な機能はそれだけを呼び出すことができる必要はありません。

 5、インタフェースは、コールバックをサポートするために使用することができますが、この機能を継承する必要はありません
 
抽象クラスは、インターフェイスを実装している場合、インターフェースは、抽象クラスのサブクラスでは、インターフェースメソッドの実装方法を実施することなく、抽象クラスとして抽象メソッドにマッピングすることができ

 

目標 選択
アセンブリの複数のバージョンを作成します。
抽象クラス
小さなブロックで簡潔なデザインの特徴
インターフェース
大規模な設計機能ユニット
 抽象クラス

 

 

 

 

 

 

 

2、抽象クラスのインターフェイスと使用シナリオ

1、どのような抽象クラスを理解するために、すべての最初の。クラスは、特定のターゲットを記述するのに十分な情報が含まれていない場合は、オブジェクト指向の概念では、我々はすべてのオブジェクトはクラスによって描かれていることを知っている、そのようなクラスは抽象クラスです。抽象クラスは、多くの場合、我々の分析の問題領域、描かれたデザインの抽象化を特徴付けるために使用され、異なるルックスのシリーズが、抽象化の具体的な性質の同じ概念です。我々はxpadsプロジェクトトランザクションクラスは抽象クラスとして理解することができる例えば、スポット取引、先物取引、スワップ及び取引の他の特定のタイプは、クラスを継承しています。スポット取引、先物取引では、それは抽象的な概念として理解することができ、これらの特定の概念は本当ですが、問題の分野における取引の概念が存在しないスワップ。何がそれを現実的な問題に対応するアート抽象化ではありませんので、それは抽象的な概念の抽象クラスはインスタンス化された特徴づけることができないで、です。

図2に示すように、次いで、(また、定数を定義)インターフェースは、インターフェース仕様のセットのオブジェクト指向設計であり、組立工程の設定方法を理解し、いくつかのモード指向のプログラミングインタフェースで提唱ソフトウェア設計は、実際には、遮蔽を達成しますクラス内部処理、強化されたセキュリティモジュール性、柔軟性、高い凝集を達成するためのソフトウェア設計、疎結合。

3は、同じ特性とアプリケーションの動作と抽象クラスは、メソッドを実装することができ、多重化を達成することができ、より多くのインタフェースは動作の定義で、メンバーが達成することができます。

 

 

 

おすすめ

転載: www.cnblogs.com/zjtao/p/11345366.html