Quando chamar os teus “setters”, eles farão exatamente a mesma coisa, ou seja “this.variavel”.
Caso você use alguma lógica no seu getter ou setter, ai sim, chame ele. Apenas atribuir valor não há necessidade.
sergio7888
deve usar o this sempre que a classe não for final, pois se o setter for alterado podera alterar o funcionamento do contrutor e da classe inteira podendo fazer com que a classe gere erros.
edu_fernandes
No construtor utilize this
O motivo? Simples! A propriedade private permite que classes externas na sua aplicação possam ter acesso ao valor da variável, mas não modifica-lo diretamente. O this faz a referência que é o parâmetro da classe, e não o do método que você está atribuindo algum valor. Dado isso, os métodos acabam por ser públicos (ou não) justamente para adequação desta situação.
Mais informações pode ser encontradas, aqui mesmo no fórum.
Abs!
M
Murilo_Ferreira
Se o seu setter apenas atribuir valor compensa usar apenas this.
NewScript
Obrigado a todos.
Só para complementar a questão:
É ilógico da minha parte pensar que provavelmente, num futuro, eu venha a querer validar
certos dados (no caso, o nome) e por isso logo de cara já usar setter? Ou é melhor fazer
isso apenas quando necessário?
Matheus_terra
Cara, vai depender muito do que você quer fazer. Eu particularmente gosto de inicializar um atributo no construtor usando o seu set, pois sempre ja trato algumas exceções e possíveis erro logo de cara. Mas, por exemplo, quando o problema for apenas para fins algorítmicos, ou seja, apenas para se obter uma simples resposta, eu inicializo direto no atributo, usando “this” ou não.