私はEmployee
ベースクラスとFullTimeEmp
とPartTimeEmp
派生クラスを持っています。メソッドを使って従業員のタイプを取得できるようにしたい。私はFullTimeEmp
とPartTimeEmp
クラスのコンストラクタにEmployeeType
を設定する予定です。親クラスまたは基本クラスのメソッドとフィールド
GetEmployeeType
メソッドとフィールドemployeeType
を基本クラスまたは派生クラスに入れる必要がありますか?すべての従業員はemployeeTypeを持ち、employeeTypeを返すことができる必要がありますが、値は派生クラスに設定されています。
編集:私は両方の選択肢をコーディングする方法を知っていますが、oopの観点から正しい選択肢がわかりません。私はこれが意見の問題だとは思わなかった。正しいコーディング方法と不正なコーディング方法があると思いました。そのような
返されるEmployeeType関数とは何ですか?文字列?列挙型ですか?あなたは価値の例を挙げることができますか? – Magnus
論理が異なるのでなければ、単に 'EmployedFullTime'のような名前の' bool'プロパティを持たないのはなぜですか?これは、真(フルタイムで雇用される)か偽(パートタイムで雇用される)のいずれかになります。 – TVOHM
Boolsは、2つ以上の値を決して使用しないことが絶対に確実でない限り、一般的にはこれにはあまり適していません。契約者タイプを追加することを決めた場合、避けやすいリファクタリングをたくさんやる必要があります。私はenumsや文字列に固執します。 – Evgeni