5

Javaのインターフェースのセマンティクスを理解する上で問題が発生しています。インターフェイスにコードを入力する前に、インターフェイスの問題をモデル化しています。これを行うには、問題の名詞を探して、それらのインターフェースを作成します。次に例を示します。

すべての家には少なくとも1人の人がいます。各家には、正確に1台の自転車が含まれている場合があり、少なくとも1台の車が含まれている場合があります。

そこで、IHouse、IPerson、およびIVehicleのインターフェイスを作成します(将来、家、人、車の種類が異なる可能性があるため)。

問題は、これらの名詞の形容詞に入るときに発生します。たとえば、次のようになります。

家、自転車、車はそれぞれ特定の色を持っている場合があります。

各車両と家のクラスで次のメソッドを作成する代わりに、次のインターフェイスを作成します。

public interface IPainted {

    public Paint getPaint();

    public void setPaint();

}

そしてそれを車両と家のインターフェースに適用します:

public interface IVehicle extends IPainted {
}

これは形容詞を表す最良の方法ですか?

4

1 に答える 1

2

はい。また、「名詞」と「形容詞」のやや厄介な指定の両方を同じバケットに入れるには、接尾辞「able」を使用します。この場合はpublic interface Paintableしたがって、ペイント可能性に関係するペイント可能なクラスのすべてのプロパティは、Paintableそのクラスが実装するインターフェイス内にカプセル化する必要があります。

于 2013-01-14T21:01:50.520 に答える