Dúvida Construtor

5 respostas
Marques

Colegas,

Criei a classe:
public class Ide {
	private String cUF;
	private String cNF;
	private String natOp;
	
	public Ide(String uf, String nf, String natOp) {
		this.cUF = uf;
		this.cNF = nf;
		this.natOp = natOp;
	}
}

Dai o Eclipse (para os 3 atributos criados) exibe u alerta: ide.cUF is never read locally.
Pergunto: É uma boa prática criar os getters/seters para sumir com esses alertas? Como vc trata isso?

Muito obrigado,

Marques

5 Respostas

adriano_si

Se vc conseguir garantir que sempre que criares teus Objetos do tipo Ide sempre terás os valores pra setar os campos, ignora o Eclipse e mantém dessa forma…

Senão, cria os getters e setters… Agora criar só pra sumir com a Warning ??? Não…

E

É desnecessário.

discorpio

Boa noite a todos.

Voce só cria getters e setters caso voce queira dar acesso aos atributos criados em outras classes, caso contrário, não é necessário.

W

na verdade o eclipse está mais do que certo, pq as variaveis estão definicas como private e não existe nenhum método que trabalhe com essas variaveis na classe a não ser setar elas pelo construtor, então desse modo a unica coisa que vc pode fazer com essas variaveis é setar o valor e mais nada, vc não pode recuperar em lugar nenhum nem faezr nada então qual o sentido teria essa classe?

discorpio

Boa tarde a todos.

Variáveis e métodos privados (private) são membros da classe e portando podem ser acessados somente dentro da própria classe em que são declarados, assim sendo, tanto faz voce acessar como “this.cUF” como somente cUF, que eles serão enxergados tanto para obter como para atribuir valores, isto porém, somente dentro da classe em que são declarados.

No caso do construtor, o parâmetro passado tem o mesmo nome da variável privada, neste caso a referência a própria classe com a sintaxe “this” é obrigatória para identificar qual variável é o membro privado da classe e qual é a variável parâmetro local do método.

Já como instância de objeto, os membros privados não são enxergados, portanto o acesso a variáveis privadas em instâncias tem que ser através dos métodos getters e setters, que são declarados como público (public), esta mesma situação ocorre na herança (extends) entre classes.

Criado 25 de outubro de 2010
Ultima resposta 26 de out. de 2010
Respostas 5
Participantes 5