2012-01-17 10 views
0

私はJavaのインターフェイスの概念を理解しようとしていますが、これまで私が理解しているのは、インターフェイスがJavaであるということです。これはJavaのインターフェイスの正しい構造ですか?

以下のようなインタフェースは、パーティA、パーティB、パーティBによって開発されたインタフェースの開発者であるパー​​ティBとの正式な契約を構築するということです。インタフェースを実装するすべてのクラスは、パーティAによって作成されたインターフェイスによって提供されます。

クラスを実装するクラスから作成されたオブジェクトインスタンスは、インターフェイスに含まれる機能/動作/サブラウンチを実行できますか?

インターフェイスは、クラスの青いプリントとしても機能しますか? インターフェイスは、コード化され、コード化されていない必要がありますか?インタフェースは以下のように 当事者間の正式な契約を構築すること

package house; 

public interface Infratructure { 
    public int numberBedrooms(); 
    public int numberBathrooms(); 

    public boolean attic(); 
    public int atticSize(); 

    public boolean lounge(); 
    public int loungeSize(); 

    public boolean kitchen(); 
    public int kitchenSize(); 

    public boolean grarage(); 
    public int garageSize(); 

    public boolean basement(); 
    public int basementSize(); 

} 
+6

あなたがここで質問している質問は私には分かりません。あなたはその質問を言い直し強調することができますか? – kittylyst

+2

あなたのインターフェイスはうまく見えますが、あなたの質問はあまり明確ではありません。 – anubhava

+3

インタフェース 'public'のメソッドを明示的に宣言する必要はないことも忘れないでください。デフォルトではすべて公開されています。 – MockerTim

答えて

2

、パーティAインタフェースとパーティBの開発者、ユーザパーティBによって開発されたクラスの

本当にインターフェイスは2つのコンポーネント(ソフトウェア)間の正式な契約であり、プログラマの要件に基づいてインタフェースを定義するのではなく、ソフトウェア要件のベースに定義する必要があります。インターフェイスを実装作成した任意のクラスは、はい、インターフェイスが動作を定義党によって

を作成したインタフェースが提供する 動作を提供しなければならないこと

。したがって、カプセル化の概念を強制するクラスのグループのパブリックな振る舞いのみを持つ必要があります。

クラスは 機能/動作を持っていることができるようになります実装するクラスから作成されたオブジェクトインスタンス/サブrountiesはその 上で動作するインタフェースで収容されていますか?

インターフェイスには、動作、機能、サブルーチンが含まれていません(実装済み)。ただ宣言するだけです。実装の作業をクラスに任せる。

インターフェイスはクラスの青いプリントとしても機能しますか?そして、インターフェイス は、コード化され、コード化されていないことが必要ですか?

はい、システムをベースにしてインターフェイスを設計すると、より細分化され、コンポーネントの凝集性が低くなります。

関連する問題