Construtor Vazio ou não?

5 respostas
A

Estou fazendo os diagramas de sequência do meu projeto, e existem várias formas pra entrar criar os objetos e entrar com os prarâmetros:

1- Create() vazio, q seria o construtor vazio, e passar os parêmetros pelo método: inserirCliente(cod, nome,tel), por exemplo. Ou ainda,

2-Create(cod, nome,tel) e inserirCliente(), agora o método sem parâmetros.

Qual a diferença? O que é mais indicado??

5 Respostas

J

acredito que não há uma diferença que possa ser considerada, aí nesse caso o código mais indicado é aquele mais fácil de entender, o mais legível.

se alguem achar que tem uma diferença muito grande entre esses dois métodos posta aí por favor…é sempre bom saber…

valeu

S

Por que não cria os dois?
Se usar o com argumentos, insere automaticamente.
Se usar o sem argumentos, deve inserir depois.

Como um JLabel, por exemplo.
Pode-se usar:

label1 = new JLabel(); label1.setText("Rótulo"); label2 = new JLabel("Rótulo");

Ou seja, pode ter mais de um construtor.

P

Olá,

Seu construtor deve ter o mínimo suficiente para o objeto funcionar, deve suprir sua invariante.

por exemplo, um triângulo tem três ãngulos, então um cosntrututor deveria ser:

public Triangulo(Angulo a, Angulo b, Angulo c);

Se você fizer:

//1
Triangulo t = new Triangulo();
//2
t.addAngulo(a);
//3
t.addAngulo(b);
//4
t.addAngulo(c);
//5

Vai ter ume stado incosistente do objeto até chegar em //5.

Entretanto, um construtor não deve receber muitos parãmetros, então você pode providenciar uma Factory para evitar que seus objetos estejam em estado inconsistente.

A

Agora não entendi muito bem. Pq quando chegar na linha 5 vai estar inconsistente? O q é Factory?
Desculpe minha ignorância…

M

“AndreiaMarvel”:
Agora não entendi muito bem. Pq quando chegar na linha 5 vai estar inconsistente? O q é Factory?
Desculpe minha ignorância…

vai estar inconsistente pq um triângulo sempre tem 3 pontos, se tu instanciar um objeto triangulo sem esses 3 pontos, não será exatamente um triângulo, logo inconsistente… e Factory é um pattern… pesquise sobre :joia:

Criado 12 de maio de 2005
Ultima resposta 14 de mai. de 2005
Respostas 5
Participantes 5