Java で基本的な給与計算プログラムを実装しています。Employee
主に納税者番号、名前などのデータを格納するという抽象スーパークラスがあります。次に、従業員のタイプを表すと思われる 2 つのサブクラスがありEmployee
ますHourly
。Salaried
これら 2 つのクラスは、給与と税金の計算を実装し、従業員の種類に固有のデータを格納します。
問題は、計算された給与、税金などを格納するために新しいフィールドを実装する必要があるため、フィールドの山Salaried
になってしまうことです。時給/給与の特定のフィールドと計算を実装するために、これに由来するクラスはありますか? もしそうなら、(スーパークラス)と(サブクラス)の間に合成関係を持つことは理にかなっていますか?Hourly
PayCalculation
PayHourly
PaySalaried
Employee
PayCalculation
構成がよくわかりません。誰かがこれを構造化するためのより良い方法を考えることができれば、私はそれを高く評価します.
UML の使用方法はわかりませんが、これを説明するためにペイントで作成した非常に見苦しい図を次に示します。