Olá pessoal, estou com uma duvida, eu tenho 2 classes que herdam de Pessoa apenas o atributo nome, essas classes são PessoaFisica e PessoaJuridica, pessoa
fisica tem CPF e PessoaJuridica tem CNPJ, em um objeto Processo eu tenho uma variavel Pessoa, que pode ser tanto PessoaFisica ou PessoaJuridica no caso está assim =>
Dessa forma você pode colocar métodos de validação, formatação, e tudo o que for específico para o tipo da pessoa no enum.
Muito obrigado, não tinha pensado em usar enum para o caso, mas mesmo assim poderia explicar como eu queria fazer? Gosto de saber os metodos bons de fazer alguma coisa, mas para isso também gosto de conhecer os ruins para saber o motivo do desenvolvimento dessa solução de design obrigado!
wbdsjunior
a solução do amigo tnaires é melhor, mas outra solução seria criar uma interface Pessoa:
Como falei, você precisaria do instanceof para saber o tipo de pessoa que você está lidando. Observe o código do wbdsjunior no post anterior.
S
Santhell
Como falei, você precisaria do instanceof para saber o tipo de pessoa que você está lidando. Observe o código do wbdsjunior no post anterior.
Muito obrigado, entendi sim, no caso eu estava usando herança em uma hora errada, já que pessoaFisica e pessoaJuridica são tipos, no caso a herança seria valida se eu criasse uma classe funcionario e extendesse ela a pessoa!
Aproveitando o tópico alguem tem alguma indicação de livro ou material sobre padrões de projeto, design e afins? Sou novo em OO e as vezes me pego com essas duvidas! Obrigado!
S
Santhell
Outra duvida no enum eu crio metodos de set e get do cadastro nacional? e depois atribuo ele a variavel no objeto pessoa?
tnaires
Santhell:
Aproveitando o tópico alguem tem alguma indicação de livro ou material sobre padrões de projeto, design e afins? Sou novo em OO e as vezes me pego com essas duvidas! Obrigado!
Mas antes de começar a estudar padrões de projeto, estude Java e orientação a objetos em si.
Santhell:
Outra duvida no enum eu crio metodos de set e get do cadastro nacional? e depois atribuo ele a variavel no objeto pessoa?
Não, o setter e o getter você cria na classe Pessoa mesmo, pois é lá que fica o atributo cadastroNacional.
No enum você cria métodos específicos para o tipo da pessoa. Por exemplo, se você quiser inserir código para validar um CPF ou um CNPJ: