os metodos setters e getters do objeto Data não deveriam ser criados na classe Data?
os metodos setters e getters do objeto Data não deveriam ser criados na classe Data?
Boa noite Felipe, não estou realizando este curso, mas teoricamente sim.
Você pode compartilhar o código para que eu olhe com você?
Olá Felipe, o meu código é o seguinte
class Funcionario{
private String nome;
private String departamento;
private double salario;
private Data dataEntrada = new Data();
private String rg;
public void setNome(String n){
this.nome = n;
}
public String getNome(){
return this.nome;
}
public void setDepartamento(String dep){
this.departamento = dep;
}
public String getDepartamento(){
return this.departamento;
}
public void setSalario(double valor){
this.salario = valor;
}
public double getSalario(){
return this.salario;
}
public void setData(Data d){
this.dataEntrada = d;
}
public Data getData(){
return this.dataEntrada;
}
public void setRg(String r){
this.rg = r;
}
public String getRg(){
return this.rg;
}
public void recebeAumento(double aumento){
this.salario += aumento;
}
public double getGanhoAnual(){
return this.salario * 12;
}
public double somaDecimoTerceiro(){
return this.getGanhoAnual() + this.salario;
}
public void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salario: "+ this.salario);
System.out.println("Data de Entrada: " + this.dataEntrada);
System.out.println("RG: " + this.rg);
System.out.println("Data de entrada: " + this.dataEntrada.getFormatada());
}
}
No caso os getters e setter para o objeto Data foram criado para que a classe Funcionario possa receber o objeto Data, ou seja, em uma classe de teste você irá criar um objeto do tipo data e passar para o seu objeto Funcionario por meio do setter e quando você quer buscar alguma coisa deve ir pelo meio do getter, esse não é o melhor exemplo, pelo que me lembro mais para a frente você irá criar o objeto Data dentro da classe Funcionario.
Em resumo, o getter e o setter estão aí somente para você passar ou recuperar um objeto do tipo Data do Funcionário.
Espero ter ajudado.
Isso mesmo Joel, está muito bem explicado. Eu só acrescentaria explicando o que é o getter and setter.
O método getter é utilizado para recuperar a informação ou valor de algum atributo, sem ter que utilizar o atributo diretamente. O Método setter é utilizado para setar um valor dentro deste atributo.
Isto é um dos principios de Orientação a Objeto.
E segundo o código do Joel, você quer settar ou pegar o valor do atributo dataEntrada...
private Data dataEntrada = new Data();
...que é do tipo Data e que será instanciado na sua classe main. Por isso o motivo deles serem criados na classe Funcionario. O atributo esta sendo criado nela, logo os getters and setter tbm.
Ótima explicação, estou em fase de assimilação do paradigma ainda. Estarei praticando para melhorar, obrigado!