Cadastro de VO Pai X Cadastro de VO Filho

14 respostas
D

Opa :smiley:

Supondo que temos o VO Pai - Empresa…que tem nome, cnpj e etc…

Temos o Vo Filho - Funcionarios…tem os nomes dos funcionarios, rg, cpf…e etc

Qual a diferença para cadastrar eles?

No meu .xml, eu preciso colocar uma procedure pra cada VO? E na tabela do bd, como que fica? Quais as outras diferenças??

[]'s

14 Respostas

A

Minha sugestão, sem responder à pergunta…

Entenda um pouco melhor a Orientação a Objetos e como ela funciona no Java antes de trabalhar com Design Patterns.

EmpresaVO extends MultnacionalVO??
FuncionariosVO extends EmpresaVO??

Abraço,

Armando

D

ola armando!!

eu sei como funciona, essa foi uma dúvida que me surgiu após pedirem pra me explicar, pq ao meu ver

ambos os VO citados são filhos, um é filho e o outro é filho do filho…mas o cadastro eh a mesma coisa…fiquei com a dúvida quando me pediram pra explicar…

A

Não, se você está dizendo que um Funcionário é uma especialização de Empresa, você não entendeu.

Abraço,

Armando

D

mas tecnicamente Funcionario é filho da Empresa…e a Empresa é filho do Mult…que é um genérico…

D

como assim, especialização?

A

Estude OO. Entenda o que é herança.

Abraço,

Armando

correainfo

Bom aki na empresa usamos a VO como DTO.
Eu criaria um DTO Empresa e outro DTO Funcionarios

EMPRESA

public class DtoEmpresa {
     private int cnpj;
     private String nome = null;
     
    public int getCnpj() {
        return cnpj;
    }
    public void setCnpj(int cnpj) {
        this.cnpj= cnpj;
    }

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome= nome;
    }

FUNCIONARIO

public class DtoFuncionario {
     private int rg;
     private String nome = null;
     
    public int getRg() {
        return rg;
    }
    public void setRg(int rg) {
        this.rg= rg;
    }

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome= nome;
    }
cado

Quando vc usa extends vc está usando herança. Do jeito q vc ta fazendo está assim:

FuncionarioVo é uma EmpresaVO.
Vc acha q isto está certo??

D

Armando, herança é uma classe herdar atributos e métodos da classe pai, certo?

Exemplo:

Multinacional tem ENDEREÇO, SALA

Empresa logo vai poder utilizar os atributos endereço e sala se fizer referencias a elas…

Meu exemplo pode estar confuso, mas eu acho que vc vai entender rs

Eu sei o que é herança, não sou um expert, mas eu sei…acho que não to sabendo expor minha dúvida :oops:

D

certo não é…os nomes foram apenas fantasia rs

ac]ho que esse foi o problema para eu expor minhas dúvias

FuncionarioVO não é uma EmpresaVO…ele pode ter alguns atributos que a empresa pode ter.,…mas esqueçamos esse FUNCIONARIO E EMPRESA

Vamos usar DIRETOR e FUNCIONARIO…fica mais claro!

Podemos falar que todo diretor é um funcionário, mas nem todo funcionário é um diretor…

Temos a FuncionarioVO que tem ‘nome’ por exemplo…

Logo a classe DiretorVo pode herdar “nome”

DiretorVO drt = new DiretorVO();
drt.nome = “jose”

Certo?

Minha dúvida é se muda alguma coisa para inserir no banco…isso que eu to com dúvida, eu nunca tinha parado pra pensar nisso…sempre inseri de uma maneira normal e deu certo…mas me pediram pra explicar e eu fiquei desnorteado :S

David

davidhc:
Armando, herança é uma classe herdar atributos e métodos da classe pai, certo?

Exemplo:

Multinacional tem ENDEREÇO, SALA

Empresa logo vai poder utilizar os atributos endereço e sala se fizer referencias a elas…

Meu exemplo pode estar confuso, mas eu acho que vc vai entender rs

Eu sei o que é herança, não sou um expert, mas eu sei…acho que não to sabendo expor minha dúvida :oops:

Armando está certo. O que você quer não faz sentido. A classe filha em uma herança é uma especialização da classe mãe, logo a classe filha representa um conjunto mais restrito de objetos. Para ser mais claro, a relação de herança pode ser vista como uma relação do tipo é-um: “A classe filha é uma classe mãe”. Exemplo: Cachorro extends Animal implica em dizer que cachorro é um animal.

Mas Empresa extends Multinacional não faz sentido porque nem toda empresa é uma multinacional. O certo nesse caso seria fazer Multinacional extends Empresa.

Leia esse post no blog da Caelum e você vai ver que herança não é só “uma classe herdar atributos de outra”.

Edit: Por favor… Esse VO no nome das classes dá agonia… Empresa, Funcionario, Multinacional fica melhor. E, pro cara lá de cima, o que DTO tem a ver com a conversa toda?

D

O que eu falei logo acima “o problema dos nomes”

vlw a todos que postaram…aprendi mais um pouco sobre heranças e sanei a dúvida sobre inserção de filhos :wink:

[]'s

pcalcado

http://fragmental.com.br/wiki/index.php?title=Evitando_VOs_e_BOs

A

Voltando o topico.
VO no nome é horrivel.
Agora o rapaz ali em cima fez pior colocou DTOFuncionario?!!?!

DTO = VO???

Até hoje ouço as pessoas falarem DTO,VO,POJO, Java Beans

Resumido, elas falam que fazem e usam, mas quando voce vai ver. Nada passa de um Pojo…
So que nego chama do que achar melhor…

Para muitas pessoas isso aqui é um POJO ou VO ou DTO ou JavaBeans…

public class Pessoa{
private String nome;
private String cpf;
//getters e setters
}
Criado 16 de outubro de 2006
Ultima resposta 4 de jan. de 2007
Respostas 14
Participantes 7