私は従業員賃金制度を作成しています。私は抽象的なEmployee
クラスを持っています。 WageEmployee
およびManager
は、Employee
である。その後、プログラマとSalesPerson
はWageEmployee
に拡張されます。Java、多重継承。私はこれをどのようにするべきですか?
私の問題は、SalesManager
を作成したいということです。 SalesManger
には、手数料と給与を加算して計算された給与が加算されています。だからタイプはSalesPerson
とManager
です。
インターフェイスを作成するにはどうすればよいですか。SalesPerson
はどのように拡張する必要がありますか?
SalesManager
をマネージャから拡張してから、SalesPerson
をインターフェイスにするのは当然です。しかし、私はそれがWageEmployee
から継承するのでできません。
これをどのように動作させるのですか?正しく?
abstract class Employee
{
String name;
Employee() {}
Employee (String nm) { name = nm; }
abstract double computePay();
void display() {}
void setHours(double hrs) {}
void setSales(double sales) {}
void setSalary(double salary) { System.out.println("NO!"); }
}
継承される機能はありますか、それとも単なるメソッドですか? –
個人的には、すべてのインターフェイスから開始します。これにより、最大限の柔軟性が得られます。次に、どの抽象実装が最も少ない量の再作業を生成するかをそこから把握する必要があります。唯一のソリューションは、プロキシスタイルのソリューションを使用することです。つまり、1つのインタフェースの機能は、実際には、親オブジェクトが参照を保持し、それを呼び出す代理オブジェクトによって実装されます。 – MadProgrammer
この場合、インターフェイスとオブジェクトの構成はお友達です。 –