Este projeto implementa um sistema simples de folha de pagamento em Java, utilizando os princípios da Programação Orientada a Objetos (POO) para gerenciar diferentes tipos de funcionários e calcular seus salários.
- Herança: Demonstra a criação de uma hierarquia de classes, onde
Estagiario,FuncionarioHoristaeFuncionarioMensalistaherdam de uma classe baseFuncionarios. - Abstração: A classe
Funcionariosé abstrata, definindo um contrato comum para todos os funcionários com métodos abstratos comocalcularSalario()eimprimirDados(). - Polimorfismo: Diferentes tipos de funcionários podem ser tratados de forma genérica pela classe
FolhaPagamento, e a lógica específica para calcular o salário e imprimir dados é executada de acordo com o tipo de funcionário. - Encapsulamento: Os atributos das classes são privados e acessados através de métodos
gettersesetters, garantindo a proteção e o controle sobre os dados. - Composição/Agregação: A classe
FolhaPagamento"tem uma lista de"Funcionarios, mostrando como objetos podem ser combinados para construir sistemas mais complexos.
O projeto está organizado no pacote lista04.exercicio01 e contém as seguintes classes:
Funcionarios.java: Classe abstrata base para todos os funcionários, definindo nome, CPF e métodos abstratos para cálculo de salário e impressão de dados.Estagiario.java: EstendeFuncionarios, calcula o salário baseado em uma bolsa e carga horária.FuncionarioHorista.java: EstendeFuncionarios, calcula o salário baseado em horas trabalhadas e valor por hora.FuncionarioMensalista.java: EstendeFuncionarios, calcula o salário baseado em um salário base e benefícios.FolhaPagamento.java: Gerencia uma lista de funcionários, permitindo adicionar, listar e calcular o valor total da folha de pagamento.Aplicativo.java: Classe principal com o métodomainpara demonstrar a criação de diferentes tipos de funcionários e a funcionalidade daFolhaPagamento.
- Clone o repositório:
git clone [https://github.com/SeuUsuario/PayrollSystemJava.git](https://github.com/SeuUsuario/PayrollSystemJava.git)
- Navegue até o diretório do projeto:
cd PayrollSystemJava - Compile os arquivos Java:
A partir da raiz do projeto (
PayrollSystemJava/), execute:(Este comando compila todos os arquivosjavac src/lista04/exercicio01/*.java -d out.javadentro do pacote e os coloca no diretórioout). - Execute a aplicação:
java -cp out lista04.exercicio01.Aplicativo
Ao executar o Aplicativo.java, você verá uma saída similar a esta no console:Funcionário: Gabriela CPF: 12345678998 Carga Horária: 30 Salário: 800,00
Funcionário: Rafaela
CPF: 12345678998
Horas trabalhadas: 40.0
Valor horas: 80.0
Salário: 3200,00
Funcionário: Isabela
CPF: 12345678910
Benefícios: 150.0
Salário: 1950,00
Funcionário: Manuela
CPF: 12345678998
Carga Horária: 20
Salário: 700,00
Valor total a pagar é: R$ 6650.0