Javaのインターフェースのセマンティクスを理解する上で問題が発生しています。インターフェイスにコードを入力する前に、インターフェイスの問題をモデル化しています。これを行うには、問題の名詞を探して、それらのインターフェースを作成します。次に例を示します。
すべての家には少なくとも1人の人がいます。各家には、正確に1台の自転車が含まれている場合があり、少なくとも1台の車が含まれている場合があります。
そこで、IHouse、IPerson、およびIVehicleのインターフェイスを作成します(将来、家、人、車の種類が異なる可能性があるため)。
問題は、これらの名詞の形容詞に入るときに発生します。たとえば、次のようになります。
家、自転車、車はそれぞれ特定の色を持っている場合があります。
各車両と家のクラスで次のメソッドを作成する代わりに、次のインターフェイスを作成します。
public interface IPainted {
public Paint getPaint();
public void setPaint();
}
そしてそれを車両と家のインターフェースに適用します:
public interface IVehicle extends IPainted {
}
これは形容詞を表す最良の方法ですか?