Я создаю систему оплаты труда. У меня есть абстрактный класс Employee
. WageEmployee
и Manager
расширяют Employee
. Затем Programmer и SalesPerson
расширяют WageEmployee
.
Моя проблема в том, что я хочу создать 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!"); }
}