Olá, não estou conseguindo usar o modificador de acesso em Data, ja tentei usar a lógica do set e do get, mais como se trata de uma classe não estou tendo exito, consegui usar o get em getFormatadaData() para imprimir porém quando deixo o Data dataDeEntrada; em private não consigo prosseguir. Segue o código:
class Funcionario {
private String nomeFuncionario;
public void setNomeFuncionario(String texto) {
this.nomeFuncionario = texto;
}
private String cpf;
public void setCpf(String texto) {
this.cpf = texto;
}
private String funcao;
public void setFuncao(String texto) {
this.funcao = texto;
}
private double salario;
public void setValorDoSalario(double valor) {
this.salario = valor;
}
private double aumento;
public void setAumento(double valor) {
this.aumento = valor;
}
public double recebeAumento() {
return this.salario + this.aumento;
}
public double calculaGanhoAnual() {
return this.salario * 12;
}
public double calculaGanhoAnualComAumento() {
return this.recebeAumento() * 12;
}
private Data dataDeEntrada;
public void setDataDeEntrada(int dia, int mes, int ano) {
this.dataDeEntrada() = dia + mes + ano;
}
private int idade() {
return 2017 - this.dataDeEntrada.ano;
}
public void mostra() {
System.out.println("===========================================================");
System.out.println();
System.out.println("****************************************************************");
System.out.println(" MOSTRANDO TODAS AS INFORMACOES DO FUNCIONARIO " + this.nomeFuncionario);
System.out.println("****************************************************************");
System.out.println();
System.out.println("o funcionario: " + this.nomeFuncionario);
System.out.println("Tem CPF: " + this.cpf);
System.out.println("Ocupa o cargo: " + this.funcao);
System.out.println("Sua idade e: " + this.idade());
System.out.println("Entrou na empresa em: " + this.dataDeEntrada.getFormatadaData());
System.out.println("Recebe a quantia de: " + this.salario);
System.out.println("Teve um aumento de: " + this.aumento);
System.out.println("Seu salario mais aumento somam: " + this.recebeAumento());
System.out.println("Tendo ganho anual de: " + calculaGanhoAnual() + " sem o aumento.");
System.out.println("Com seu aumento o Ganho Anual passa a: " + this.calculaGanhoAnualComAumento());
}
}
class Data {
public int dia;
public int mes;
public int ano;
public void preencheData(int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
public String getFormatadaData() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}