抽象クラスとインタフェースやリンクの違い

  • インターフェース

  (1)インタフェースをインスタンス化することができない
  (2)インターフェイスメソッドの宣言を含むことができる
  部材(3)は、インターフェースメソッド、プロパティ、インデクサ、イベント含む
  (4)インターフェースは定数を含むことができない、フィールド(フィールド)、コンストラクタ、分析を構成、静的メンバ
  公衆にすべてのメンバーが(5)デフォルトのインターフェイス、インターフェイスはプライベート修飾子を持つことができない、したがって
  、派生クラスのすべてのメンバー(6)インタフェースを実装する必要があります
  (7)クラスは、直接複数のインターフェースを実装することができ、インターフェイスコンマで区切られた部屋は、
  (8)インターフェイスの親インターフェイスを複数持つことができ、インタフェースは、親のすべてのインターフェイスのすべてのメンバーを実装する必要が実装します
  •  抽象クラス

  仮想メソッドは本体を達成されないように(1)のみ抽象メソッド宣言のためではなく、達成含む見ることができる
  (2)インスタンス化できない抽象クラス
  が、抽象クラス抽象抽象メソッドとプロパティを必要とするかもしれない(3)が、あなたは抽象メソッドを持っていたら、私たちは、この抽象クラス宣言取る必要があり
  、基本クラスのメソッドをオーバーライドする必要があります(4)特定の抽象派生クラスを
  (5)抽象派生クラスがカバーされないことがあり、抽象基本クラスをオーバーライドすることができます。あなたがカバーしていない場合は、その具体的な派生クラスはそれらをオーバーライドする必要があります。
  •  同じポイント

  (1)それが継承することができる
  (2)インスタンス化されていない
  (3)メソッド宣言含むことができる
  方法が実装されていない(4)派生クラスが実装しなければなりません
  •  違い

   1.インターフェイスは、あなたが何ができるかを指定し、抽象クラスは、あなたが何であるかを定義します。

   2.①航空機は、彼らが同じインターフェイス「飛ぶ」を継承している、鳥が飛ぶ、飛ぶことができる。しかし、抽象クラスに属するF22の航空機は、抽象クラスの鳩は鳥に属します。

    ②鉄の門の扉のようなドア(抽象クラ​​ス)、あなたは私が与えることはできませんドアが(インスタンス化することはできません)したいですが、私はあなたに特定の門やドアを与えることができます(マルチ状態);とだけドアであなたはそれが窓(単一継承)であると言うことはできません。ドアをロックすることができます(インターフェース)も(実現よりも多く)ドアベルすることができます。ドア(抽象クラ​​ス)はインターフェース(ロック)あなたが何ができるかを設定します(最高1インタフェースはただ一つのことだけを行うことができ、あなたはロックバー(インターフェイス汚染)を鳴らすことができます求めることはできません)、あなたが何であるかを定義します。

 

  

おすすめ

転載: www.cnblogs.com/qwfy-y/p/11792539.html