Cadastro de VO Pai X Cadastro de VO Filho

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

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

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…

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

Abraço,

Armando

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

como assim, especialização?

Estude OO. Entenda o que é herança.

Abraço,

Armando

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;
    }

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??

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:

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

[quote=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: [/quote]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?

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

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

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
}