Posso validar dados no Construtor de uma classe qualquer ou utilizar de métodos para isso, correto? Mas e se os dados não forem válidos, consigo interromper o construtor ou um novo Objeto será instanciado?
Vc pode lançar uma exception, assim o objeto não sera criado.
Veja se as regras de validação e/ou criação não são muito complexas a ponto de ser melhor vc utilizar um pattern como o Factory (uma fabrica de objetos).
Ok, vou pesquisar!
Obrigado!
Dá pra usar return também. Só que aí a referência não fica nula e você ainda pode chamar métodos daquele objeto.
Mas segue a dica do pacman… É muito mais elegante.
Algo como:
public class Classe {
public Classe() {
return;
}
}
pode ser algo como:
public class MyClass {
public MyClass(String arg) {
if (arg == null) {
throw new IllegalArgumentException();
}
}
}
[]'s
O seu design é falho. Mesmo que vc dê um return ou lance uma exeção antes dos construtor terminar, o objeto já foi criado.
O que vc deve fazer é um método estático que recebe os parametros e faz as validações e só cria o objeto se tudo estiver ok.
Agradeço a todas as respostas, valeu pessoal!!