JAVAベース(12)抽象クラスとインタフェース

抽象クラス

要約:

                クラスは、単一継承をサポートしています。インターフェイスは多重継承をサポートしています

                クラスとクラス単一継承、

                クラスは、最初に実現した後のインターフェイス、インターフェイスのインターフェイスの継承、承継を実装します

 

   抽象カテゴリの理解:一般的な説明については、漠然とではなく、具体的なクラスは共通しています 

抽象クラスのフォーマット

公開抽象 クラスのクラス名{ 

     メンバ変数

// メソッド

    パブリック  抽象     戻り値の型メソッド名(パラメータ); 

    公共の    抽象         ボイド     GET(); // 抽象化機能。抽象必要修正、及びセミコロン; END 

}

 

 

1.1抽象クラスの機能:

                         1、抽象クラスと抽象メソッドは抽象を変更する必要があります。抽象メソッドは抽象クラスで定義する必要があります。

                         2、抽象クラスは直接の理由、オブジェクトを作成することはできません:抽象メソッドを呼び出すと、意味がありません。

                         図3は、抽象クラスの抽象メソッドのすべてをカバーして、サブクラスは、オブジェクトを作成することができます。それ以外の場合は、サブクラスや抽象クラス。

                          4.理由は抽象クラスを継承し、より多くのように考えで、操作の一般的なタイプの顔に容易になります。

 

抽象思考

                     、サブクラスは、オブジェクトをインスタンス化することができるサブクラスすべての抽象メソッドをカバーするために、必要に応じて1抽象クラスは、親クラス、抽象クラスでなければなりません

                      2.抽象クラスは、抽象メソッドを定義することはできません。                                                                                                        

                      3.一度クラスは抽象クラスを継承しています。                                                                                                           

                                       3.1  サブクラスまたはその機能を明確にするために、親クラスのメソッドをオーバーライド

                                       3.2     または抽象に行くし続けます

       1、民間:

                プライベートサブクラスはすることができません継承し、何のカバレッジは、親クラスのメソッドを取得することはできません、これを達成するための方法、および民間の修正サブクラスをサブクラス化する抽象ことが必要である、一緒に抽象的でプライベートな修正方法を使用して、ありませんでした。矛盾します。

                                             2、最終的に、一時的には、約3、静的気にしない気されていません

 

抽象クラスと普通のクラスとの違い

抽象クラス:            1.いずれかの抽象メソッドを定義し、一般的な方法を定義することができます

                             2.インスタンス化することはできません                                            

                           物事の3.説明は不十分情報であってもよいです                           

共通カテゴリ:           1。のみ正常な機能は、定義されました                                        

                           2.インスタンス化することができます                                                

                          3.非常に詳細で物事を説明                                      

 

                           インターフェース

自分の理解

                       抽象クラスは、物事の説明(共通の特徴の漠然とした記述)の現実です。

                      インターフェイスは、余分な機能の集合です

インタフェース定義フォーマットを確立します。インターフェイス   キーワードを

パブリック インターフェースのインターフェース名{ 

                 抽象メソッド
                抽象メソッド2 
                抽象メソッド3; 

}                                               

擬似コード

パブリック インターフェイス。ドリンク{
     //抽象メソッド
     パブリック 抽象 ボイド  ドリンク(); 

}

                           代わりに、元のクラスのインタフェースを使用して、

   他のステップは、定義されたカテゴリと同じです。

                        1.インターフェイスは、パブリックアクセス抽象メソッドです

                        前記インターフェースは、通常のメンバ変数を定義することはできません

 

クラスがインターフェイスを実装します

クラスクラスが実装するインターフェイス{ 

   インターフェイスメソッドのオーバーライド

} 例えば、

クラスのサブクラスが延びて親クラスが実装するインターフェイスを{   親クラスのメソッドオーバーライドする        オーバーライドインターフェース方法を 
} 
擬似コード

     




 


パブリック クラスの学生が実装喫煙,.ドリンク。(インターフェイスは多重継承をサポートしています){ 

        (メソッドのオーバーライドインタフェース)

     公共 ボイド煙(){ 

            System.out.printlnは(「学生」); 

  } 
}
クラスは、抽象クラスはインターフェイスメソッド継承するインターフェースを実装し、クラスを再必要があります固有のロジックを完了するために、抽象メソッドを記述します。

 

 

特長のメンバー:

                    図1に示すように、インターフェースは、変数を定義することができるが、固定された変数の修飾子が変更されている必要があり、公共の静的最終変数インタフェースいわゆる一定の値を変更することはできません。その後、我々は静的、最終的なキーワードを説明します

                     図2に示すように、インターフェースはメソッドを定義することができ、固定方法改質剤、パブリック抽象があります

                     3、インターフェイスはオブジェクトを作成できません。

                      4、すべてのサブクラスが抽象インタフェースメソッドをオーバーライドする必要があり、サブクラスをインスタンス化することができます。それ以外の場合は、サブクラスは抽象クラスです。

 

概要:インタフェースそれはの開発に利益をもたらします

1、インタフェースの機能が表示されます拡張します。

図2に示すように、インターフェースは、実際に暴力をエスケープ規則(方式)です。

3、インタフェース、すなわち、デバイスとデバイスとの間の分離を達成するために、結合(集積度)を低減するように見えます。

 

おすすめ

転載: www.cnblogs.com/layuechuquwan/p/11287746.html