Estou começando a estudar Java usando a apostila da Caelum.
Hoje, ao resolver um exercício da apostila, surgiu a seguinte dúvida: Devo usar o operador ‘this’ mesmo quando não existe ambiguidade?
No enunciado do exercício há o seguinte trecho de código:
class Funcionario {
private double salario;
// ...
public double getSalario() {
return this.salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
}
Então… por que usar o operador ‘this’ no método getSalario() se o nome do atributo já é suficiente para identificá-lo sem ambiguidade?
O exercício pedia que se criasse os getters e setters da classe Funcionario. Eu o resolvi da seguinte forma (sem usar o this a todo momento):
class Funcionario {
private String nome;
private String departamento;
private Data dataAdmissao;
private String RG;
private String cargo;
private double salario;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDepartamento() {
return departamento;
}
public void setDepartamento(String departamento) {
this.departamento = departamento;
}
public Data getDataAdmissao() {
return dataAdmissao;
}
public void setDataAdmissao(int ano, int mes, int dia) {
dataAdmissao.ano = ano;
dataAdmissao.mes = mes;
dataAdmissao.dia = dia;
}
public String getRG() {
return RG;
}
public void setRG(String RG) {
this.RG = RG;
}
public String getCargo() {
return cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
}
Está incorreto? É uma má prática de programação?