Class Employee

java.lang.Object
humanresources.Employee
Direct Known Subclasses:
Driver, Manager, NormalEmployee, Salesman

public abstract class Employee extends Object
Estrutura com capacidade de armazenar o estado de uma entidade Empregado
  • Constructor Details

    • Employee

      public Employee(String name, int code, Date entryDate, EmployeeCategory category, Values values)
      Construtor da classe Employee
      Parameters:
      name - Nome do empregado
      code - Código do empregado
      entryDate - Data de entrada do empregado na empresa
      category - Categoria do empregado
      values - Valores fixados pela empresa
  • Method Details

    • getName

      public String getName()
      Método seletor do atributo name
      Returns:
      Valor do atributo name
    • getCode

      public int getCode()
      Método seletor do atributo code
      Returns:
      Valor do atributo code
    • getEntryDate

      public Date getEntryDate()
      Método seletor do atributo entryDate
      Returns:
      Valor do atributo entryDate
    • getWorkedDays

      public int getWorkedDays()
      Método seletor do atributo workedDays
      Returns:
      Número de dias trabalhados no mês atual
    • getCategory

      public EmployeeCategory getCategory()
      Método seletor do atributo category
      Returns:
      Valor do atributo category
    • getValues

      public Values getValues()
      Método seletor do atributo values
      Returns:
      Valor do atributo values
    • setWorkedDays

      public void setWorkedDays(int month, int days)
      Método modificador do atributo workedDays
      Parameters:
      month - Mês a alterar
      days - Número de dias trabalhados
    • seniority

      public int seniority()
      Calcula a antiguidade de um empregado na empresa
      Returns:
      Antiguidade na empresa
    • calculateBaseSalary

      public double calculateBaseSalary()
      Calcula o salário base de um empregado
      Returns:
      Valor do salário base
    • calculateMaxBaseSalary

      public double calculateMaxBaseSalary()
      Calcula o salário base máximo, i.e. com todos os dias trabalhados, de um empregado
      Returns:
      Valor do salário base máximo
    • calculateMultipleSalaries

      public double calculateMultipleSalaries(int startingMonth, int finalMonth)
      Calcula o salário de um empregado, num dado intervalo de tempo
      Parameters:
      startingMonth - Mês de início do cálculo
      finalMonth - Mês de fim do cálculo
      Returns:
      Valor final do cálculo
    • calculateSalary

      public abstract double calculateSalary()
      Método abstrato para cálculo do salário de um empregado
      Returns:
      Valor total do salário
    • calculateMaxSalary

      public abstract double calculateMaxSalary()
      Método abstrato para cálculo do salário máximo de um empregado
      Returns:
      Valor total do salário
    • toString

      public String toString()
      Retorna a informação de um empregado em formato de cadeia de caracteres
      Overrides:
      toString in class Object
      Returns:
      Informação de um empregado