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);
}
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);
}
Se o método validarCpf retornar booleano, creio que tudo ok.
B
Bruno_Laturner
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
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.
P
pozzo
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.
R
ronimalk
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