Instanciar objeto

6 respostas
hlegius

Salve povo !
Estou com uma dúvida aqui: tenho uma entidade só que a tal tem mais de 30 atributos (32 para ser exato) e fiquei pensando: jogar todos no construtor ? É coisa pra dedéu !
Em contra partida não achei sentido para criar todos setters 1 para cada atributo - ao meu ver é desnecessário.

Gostaria de saber o que vocês fazem por aí quando isso acontece.

Abraços !

6 Respostas

berg.pb

Depende.

  1. instanciar no construtor é muito e desnecessários. Lembre que alguns atributos são iniciados por default, qdo um valor não lhe é atribuído. Instancia somente os atributos que extremamente necessários à classe.
  2. Se os atributos serão acessados por outros objetos, então a melhor maneira é usar get/set ou funções equivalentes.
  3. Se existem atributos que são de uso interno (private), então realmente não precisa de get/set, dependendo do caso.

Minha opinião.

Abraços

yoshikichi

hlegius:
Salve povo !
Estou com uma dúvida aqui: tenho uma entidade só que a tal tem mais de 30 atributos (32 para ser exato) e fiquei pensando: jogar todos no construtor ? É coisa pra dedéu !
Em contra partida não achei sentido para criar todos setters 1 para cada atributo - ao meu ver é desnecessário.

Gostaria de saber o que vocês fazem por aí quando isso acontece.

Abraços !


oLÁ, vc pode usar o construtor telescopio.
no effective 2 ed fala sobre.

Ou seus Sets podem retornar this.
De uma pesquisada.

edu_merckx

É necessário todos estes atributos em uma só tabela? Os dados estão normalizados?

J

Se realmente tenha necessidade de possuir essa quantidade de atributos e não tem como distribuir em outros objetos, passa o objeto pelo construtor então , é uma alternativa.

hlegius

Penso que sim. É a descrição de um elemento do projeto que neste caso é um Barco. Ele tem lá vários e vários atributos para descrevê-lo. A princípio, parece-me que não há por quê separar esses atributos em outras classes.

Hum, nunca ouvi falar disto. Se tiver um exemplo, pois dei uma pesquisada na rede e não encontrei nada referente :confused:

Agradeço as dicas galera :slight_smile:

yoshikichi
hlegius:
"edu_merckx":
É necessário todos estes atributos em uma só tabela? Os dados estão normalizados?
Penso que sim. É a descrição de um elemento do projeto que neste caso é um Barco. Ele tem lá vários e vários atributos para descrevê-lo. A princípio, parece-me que não há por quê separar esses atributos em outras classes.
"yoshikichi":
oLÁ, vc pode usar o construtor telescopio.
Hum, nunca ouvi falar disto. Se tiver um exemplo, pois dei uma pesquisada na rede e não encontrei nada referente :/

Agradeço as dicas galera :)

No Effective Java, fal sobre isso, bem no inicio do livro. Repare nos construtores:
private String placa;
	private String modelo;
	private int ano;
	
	public Carro(String pla){
		this(pla,"");
	}
	public Carro(String pla, String mod){
		this(pla,mod,0);
	}
	public Carro(String pla, String mod, int ano){
		
		modelo = mod;
		placa = pla;
		this.ano = ano;
	}

Grande, a ideia é bem simples, vc utiliza o construtor q atribui os valores nos atributos q vc da mais importancia.
Ai vc cria um esquema, q os proprios construtores vao chamando os outros construtores, isso lembra um telescopio...

Criado 18 de março de 2009
Ultima resposta 19 de mar. de 2009
Respostas 6
Participantes 5