0
はのは、私がUser
クラスがあるとしましょう、とUser
はEmployee
、Applicant
、両方(採用が、他の場所での仕事のために適用)、またはどちらも(失業者と仕事のために適用しない)することができます。JavaでCan-Be-A関係をモデル化するにはどうすればよいですか?
どのように私はJavaでこの関係を定義することができますUser
がEmployee
にキャストすることができますが、彼らは実際に使用されている、と彼らは失業している場合も同様に、他のシナリオについて(Employee
またはApplicant
にキャストできない場合にのみ、このような仕事に応募しないでください)?
,Applicant
,EmployeeAndApplicant
の各組み合わせに対してUser
を継承する別のクラスが必要ですか?ちょうど私がコメントでのものだったと思うものを綴るする
実行時にキャストが検証されます。それが正しいタイプであることを確認したい場合は、まずチェックしてください。 – shmosel
組み合わせをサポートするために、合成および/または複数のインターフェイスを使用できます。 – shmosel
「採用中」と「適用中」のように聞こえるのは、「ユーザー」の固有の性質ではなく状態なので、私は一般にそれらをサブレコードに分割します。 – chrylis