Olá.
Na aula, o tutor pede para criar uma cópia da classe Funcionario para realizar novas atividades, e dá o nome de FuncionarioTeste. No FuncionarioTeste, o tutor cria o getter e setter do tipo para modificar valores de bonificação para cada cargo.
Certo. Mais tarde no vídeo, o tutor consegue compilar os códigos feitos no TesteFuncionario (é outra classe diferente do FuncionarioTeste, criada para testar a compilação feita no FuncionarioTeste), e lá o setTipo funciona. Quando eu fiz em casa, o setTipo não vai. O Eclipse sugere que eu crie um setter no Funcionario (classe original, antes do ctrl C + ctrl V). É como se ele não estivesse lendo o código que eu fiz no FuncionarioTeste. Como eu resolvo isso?
Meu código abaixo:
Funcionario
public class Funcionario {
private String nome;
private String cpf;
private double salario;
public Funcionario() {
}
public double getBonificacao() {
return this.salario * 0.10;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
}
FuncionarioTeste
public class FuncionarioTeste {
private String nome;
private String cpf;
private double salario;
private int tipo = 0;
public double getBonificacao() {
if(tipo == 0) { //funcionário
return this.salario * 0.10;
} else if(tipo == 1) { //gerente
return this.salario;
} else //diretor
return this.salario + 1000.0;
}
public int getTipo() {
return tipo;
}
public void setTipo(int tipo) {
this.tipo = tipo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
}
TesteFuncionario
public class TesteFuncionario {
public static void main(String[] args) {
Funcionario thomas = new Funcionario();
thomas.setNome("thomas godoi");
thomas.setCpf("123456789-70");
thomas.setSalario(2500);
System.out.println(thomas.getBonificacao());
Funcionario f1 = new Funcionario();
f1.setSalario(3000);
f1.setTipo(1);
System.out.println(f1.getBonificacao());
}
}
Obrigado!