implementsキーワード

1393 ワード

implementsはクラスがインタフェースを実装するためのキーワードであり、インタフェースで定義された抽象的な方法を実装するために使用される.
(1)インタフェースは多重implements,抽象クラスは単一extendsのみ
(2)インタフェースは定義のみであり,抽象クラスは定義と実装が可能である.
(3)インタフェースのフィールド定義のデフォルトはpublic static final、抽象クラスフィールドのデフォルトはfriendly(このパッケージで表示)
 #People     ,    say    。
 #     :
public interface People{
public void say();
}
#         。                   。
#   Chinese   ,    People    。
#     :
public class Chinese implements People{
public void say() {
System.out.println("   !");
}
}
#     :
People chinese = new Chinese() ;
chinese.say();
/*          ,         。

 
     
    


implementsの役割は通常、マルチステートを実現することであり、1つのインタフェースには複数の実装があり、インタフェース使用者は1つの方法でインタフェースを呼び出し、使用者コードの安定を維持し、指定実装クラスは実行時に動的に行うことができ、プロファイルで明確にすることができる.これは確かに1つの作用で、私達が最も多く見たのは比較的に下層のコードで、例えばJDKの中の容器の類、Swingは大量にインタフェースを使って、このようなコードはツール性で、他の人に使って、情況は複雑で、動態性の需要は強烈です.しかし、アプリケーション層の開発を行う場合、個人の十数年の開発経験から見ると、多態の需要は非常に珍しく、一つの機能は実現である.マルチステートの需要がなければ、インタフェースは役に立たないのではないでしょうか.非也.インタフェースはコードのモジュール化設計に非常に有用であり、モジュール間のインタラクションはインタフェースに基づいて呼び出され、インタフェースはモジュールの内部挙動を遮蔽し、外部挙動のみを暴露し、インタフェースはモジュールの境界線である.例えば、会員管理クラスは、インタフェースがなければ、他のモジュールが会員ポイントを取得しなければならない.会員管理クラスの多くの方法の中でこの方法を探さなければならない.関係のない方法とコードの干渉が多すぎて、不便で、モジュール間の境界が明らかではなく、衝動的に1つのモジュールに他のモジュールの機能を書いたり、複数の場所で重複コードを書いたりしやすい.結合と臭いを引き起こす.