-
Создайте класс Person с полями String name, int age, boolean married и методом display(), который будет выводить информацию об объекте на консоль.
- Создайте класс Employee, наследующий от класса Person с полями:
- String company,
- String position (должность),
- double baseSalary (основа зарплаты. у всех может быть разной.)
и методом display(), который будет выводить информацию об объекте на консоль.
- Создайте класс Manager, наследующий от класса Employee с полем:
- int grade (позиционный уровень. Чем выше уровень, тем выше зп(меняется от 1 до 6))
и методом display(), который будет выводить информацию об объекте на консоль.
- Создайте класс SaleManager, наследующий от класса Employee с полями:
- double totalSales (объем продаж, от которого будет вычисляться зарплата (ставка + бонус)),
- double bonus - бонус в процентах;
и методом display(), который будет выводить информацию об объекте на консоль.
-
Создайте класс WageEmployee, наследующий от класса Employee с полями double hours, double wage(часовая ставка) и методом display(), который будет выводить информацию об объекте на консоль.
- Помимо метода display() в классах Manager, SaleManager, WageEmployee определите метод double calculateSalary(), который будет считать зарплату для каждой категории сотрудников.
Пояснения:
- для Manager зарплата будет состоять из baseSalary умноженной на grade.
- для WageEmployee зарплата будет состоять из baseSalary плюс часы умноженные на часовую ставку(wage).
- для SaleManager зарплата будет состоять из baseSalary плюс bonuse процентов от продаж.
- В PersonApp создайте:
- Статический метод, который выведет на консоль информацию обо всех сотрудниках из массива.
- Статический метод, который вернет затраты компании(зарплата всех сотрудников).
- Статический метод, который вернет доход компании(все продажи). Это приносят только SalesManagers.
- Статический метод поиска сотрудника в массиве, метод возвращает true если сотрудник в массиве есть и false если нет. Принимает массив сотрудников и искомого сотрудника.
В каждом методе должна быть проверка на null
- В Main создайте 10 объектов разных классов(Manager, WageEmployee, SaleManager) и упакуйте их в массив Employee[]. Вызовите каждый метод из PersonApp.