class Funcionario3 {
private String nome; //Atributos da classe privados, só poderão ser acessados por metodos
private String departamento;
private double salario;
private Data dataDeEntrada;
private String rg;
public void recebeAumento(double valorDoAumento) { //Encapsulamento: esconder a regra de negócio dentro dos metodos e não no Main.
if(valorDoAumento > 0){
this.salario += valorDoAumento;
System.out.println("O " + this.nome + " recebeu um aumento de: R$" + valorDoAumento);
} else {
System.out.println("O valor do aumento eh insignificante.");
}
}
//Metodos sem VOID trazem valores na tela com o 'return'
public double getGanhoAnual() { //Metodo de trazer dado ##
return this.salario * 12;
}
public void setSalario(double salario) { //Metodo de registrar dado
this.salario = salario;
}
public double getSalario() { //Metodo de trazer dado ##
return this.salario;
}
public void setNome(String nome) { //Metodo de registrar dado
this.nome = nome;
}
public String getNome() { //Metodo de trazer dado ##
return this.nome;
}
public void setDepartamento(String departamento) { //Metodo de registrar dado
this.departamento = departamento;
}
public String getDepartamento() { //Metodo de trazer dado ##
return this.departamento;
}
public String getRg() { //Metodo de trazer dado ##
return this.rg;
}
public void setRg(String rg){ //Metodo de registrar dado
this.rg = rg;
}
public Data getDataEntrada() { //Metodo de trazer dado ##
return this.dataDeEntrada;
}
public void setDataEntrada (Data dataDeEntrada) {
this.dataDeEntrada = dataDeEntrada;
}
public void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salario: R$" + this.salario);
System.out.println("Data de entrada: " + this.dataDeEntrada.getFormatada());
System.out.println("RG: " + this.rg);
System.out.println("Ganho anual: R$" + this.getGanhoAnual());
}
}
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 getFormatada() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class TestaFuncionario2 {
public static void main(String[] args) {
Funcionario3 joseph = new Funcionario3();
joseph.dataDeEntrada = new Data();
joseph.dataDeEntrada.preencheData(1, 7, 2000);
joseph.setDataEntrada(joseph.dataDeEntrada);
System.out.println("Data de entrada: " + joseph.dataDeEntrada.getFormatada());
joseph.setSalario(1000);
System.out.println("\nSalario atual R$: " + joseph.getSalario());
System.out.println("Salarial atual anual R$: " + joseph.getGanhoAnual() + "\n");
joseph.setNome("Joseph Rocha");
System.out.println("Nome completo:" + joseph.getNome() + "\n");
joseph.setDepartamento("Tecnologia da Informacao");
System.out.println("Departamento: " + joseph.getDepartamento() + "\n");
joseph.setRg("58493092");
System.out.println("Rg: " + joseph.getRg());
joseph.mostra();
}
}
Error: dataDeEntrada has a private access in Funcionario3 joseph.dataDeEntrada = new Data();
Error: dataDeEntrada has a private access in Funcionario3. joseph.dataDeEntrada.preencheData(1, 7, 2000);
Error: dataDeEntrada has a private access in Funcionario3. joseph.dataDeEntrada(joseph.dataDeEntrada);
Error: dataDeEntrada has a private access in Funcionario3. System.out.println("Data de entrada: " + joseph.dataDeEntrada.terFormatada());
4 errors