Onde colocar o método validaCpf(String cpf)

5 respostas
R

Pessoal, estou com uma dúvida sobre qual seria a melhor prática.

Eu tenho uma classe Funcionário e outra PessoaFisica, e eu quero validar o cpf na criação de objetos de ambas as classes.

O que eu pensei em fazer foi o seguinte: criar uma classe para validar cpf, sendo que nela tem um metodo estático pra validar o cpf, antes de criar um objeto do tipo funcionario ou pessoafisica, eu faço um

if (Validacao.validarCpf(cpf)) { func = new Funcionario(String cpf); }

ou algo assim…

O que vcs me dizem??

5 Respostas

R

ronimalk:
Pessoal, estou com uma dúvida sobre qual seria a melhor prática.

Eu tenho uma classe Funcionário e outra PessoaFisica, e eu quero validar o cpf na criação de objetos de ambas as classes.

O que eu pensei em fazer foi o seguinte: criar uma classe para validar cpf, sendo que nela tem um metodo estático pra validar o cpf, antes de criar um objeto do tipo funcionario ou pessoafisica, eu faço um

if (Validacao.validarCpf(cpf)) { func = new Funcionario(String cpf); }

ou algo assim…

O que vcs me dizem??

//Acho que deveria ser assim(na instância)
String cpf;
if (Validacao.validarCpf(cpf)) {
       func = new Funcionario( cpf);
}

Se o método validarCpf retornar booleano, creio que tudo ok.

B

Eu já prefiro criar uma classe chamada CPF, você passa a String pro construtor dela, que cuida de chamar os validadores (dica, usar o Stella p/ validar). Com isso você terá um objeto do tipo CPF válido, pronto para ser usado em consultas específicas, ou formatação.

P

No teu caso, eu teria uma classe Cpf (ou Documento), contendo um método isValid(). Lá eu colocaria a validação de cpf.

E adicionaria uma atributo do tipo Cpf, em Funcionario.

P

pozzo:
No teu caso, eu teria uma classe Cpf (ou Documento), contendo um método isValid(). Lá eu colocaria a validação de cpf.

E adicionaria uma atributo do tipo Cpf, em Funcionario.

O Bruno Laturner foi mais rápido. :wink:

R

obrigado pessoal…

o que eu tinha em mente então estava meio certo… a única coisa que não tava organizado na minha cabeça era que Cpf podia ser uma classe… vou fazer isso e criar um método para validar o Cpf dentro da classe…
desse modo eu não vou precisar de nada estático, correto?

caso eu prefira fazer uma classe Cpf com um método public static boolean validaCpf(){} , isso seria uma prática inadequada? ou está de acordo com a idéia da linguagem e OO? nesse caso eu não teria um atributo da classe CPF em funcionario ou pessoafisica, mas sim uma String a ser validada… por outro lado, acredito que a classe serviria apenas pra guardar esse método

Fico grato se puderem opinar a respeito.

Criado 9 de julho de 2010
Ultima resposta 9 de jul. de 2010
Respostas 5
Participantes 4