Eu não vejo muito sentido nesse método já que posso simplesmente deletar o método mostra() do meu código e colocar todas as informações dos funcionários no método mostraFuncionarios() dos exercício anterior. Fica muito mais organizado pra mim
é correto eu escrever o meu código dessa forma?
qual é a vantagem na relação do método mostraTodasAsInformacoes() com o método mostra() da classe Funcionarios?
Segue abaixo o meu código:
class Funcionario{
String nome;
String cargo;
double salario;
Data dataEntrada;
void aumentoSalario(double quantidade){
this.salario = this.salario + quantidade;
}
double cauculaSalarioAnual(){
return this.salario * 12;
}
}
class Data{
int dia;
int mes;
int ano;
void preencheData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getDataEntrada(){
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa{
String nomeEmpresa;
Funcionario[] empregados;
int vagas = 0;
void adiciona(Funcionario f){
this.empregados[this.vagas] = f;
this.vagas++;
}
void mostraEmpregados(){
for(int i = 0; i < this.empregados.length; i++){
System.out.println("Funcionario:" + i);
System.out.println("Nome: " + this.empregados[i].nome);
System.out.println("Data de entrada: " + this.empregados[i].dataEntrada.getDataEntrada());
System.out.println("Cargo: " + this.empregados[i].cargo);
System.out.println("Salario:R$ " + this.empregados[i].salario);
System.out.println("Salario anual: " + this.empregados[i].cauculaSalarioAnual());
System.out.println("/////////////////////////////////////////////////////////");
}
}
}
class Registro{
public static void main(String[] args) {
Empresa banco = new Empresa();
banco.empregados = new Funcionario[2];
Funcionario matheus = new Funcionario();
matheus.nome = "Matheus de Wit";
matheus.cargo = "Caixa";
matheus.salario = 1500.0;
matheus.dataEntrada = new Data();
matheus.dataEntrada.preencheData(01, 02, 2016);
matheus.aumentoSalario(500.0);
banco.adiciona(matheus);
Funcionario adriano = new Funcionario();
adriano.nome = "Adriano dos Santos";
adriano.cargo = "Gerente";
adriano.salario = 2000.0;
adriano.dataEntrada = new Data();
adriano.dataEntrada.preencheData(02, 04, 2015);
adriano.aumentoSalario(200.0);
banco.adiciona(adriano);
banco.mostraEmpregados();
}
}