simple-oop-homework

Задание на проект:

  1. Создайте класс Person с полями String name, int age, boolean married и методом display(), который будет выводить информацию об объекте на консоль.

  2. Создайте класс Employee, наследующий от класса Person с полями:
    • String company,
    • String position (должность),
    • double baseSalary (основа зарплаты. у всех может быть разной.)

    и методом display(), который будет выводить информацию об объекте на консоль.

  3. Создайте класс Manager, наследующий от класса Employee с полем:
    • int grade (позиционный уровень. Чем выше уровень, тем выше зп(меняется от 1 до 6))

    и методом display(), который будет выводить информацию об объекте на консоль.

  4. Создайте класс SaleManager, наследующий от класса Employee с полями:
    • double totalSales (объем продаж, от которого будет вычисляться зарплата (ставка + бонус)),
    • double bonus - бонус в процентах;

    и методом display(), который будет выводить информацию об объекте на консоль.

  5. Создайте класс WageEmployee, наследующий от класса Employee с полями double hours, double wage(часовая ставка) и методом display(), который будет выводить информацию об объекте на консоль.

  6. Помимо метода display() в классах Manager, SaleManager, WageEmployee определите метод double calculateSalary(), который будет считать зарплату для каждой категории сотрудников. Пояснения:
    • для Manager зарплата будет состоять из baseSalary умноженной на grade.
    • для WageEmployee зарплата будет состоять из baseSalary плюс часы умноженные на часовую ставку(wage).
    • для SaleManager зарплата будет состоять из baseSalary плюс bonuse процентов от продаж.
  7. В PersonApp создайте:
    • Статический метод, который выведет на консоль информацию обо всех сотрудниках из массива.
    • Статический метод, который вернет затраты компании(зарплата всех сотрудников).
    • Статический метод, который вернет доход компании(все продажи). Это приносят только SalesManagers.
    • Статический метод поиска сотрудника в массиве, метод возвращает true если сотрудник в массиве есть и false если нет. Принимает массив сотрудников и искомого сотрудника.

    В каждом методе должна быть проверка на null

  8. В Main создайте 10 объектов разных классов(Manager, WageEmployee, SaleManager) и упакуйте их в массив Employee[]. Вызовите каждый метод из PersonApp.